diff --git a/tidepool/src/builders/foundation/basic.nix b/tidepool/src/builders/foundation/basic.nix index 5c6f904..0cd49df 100644 --- a/tidepool/src/builders/foundation/basic.nix +++ b/tidepool/src/builders/foundation/basic.nix @@ -33,10 +33,9 @@ in hooks.target.target ]; in - builtins.foldl' - (final: defaults: lib.dag.apply.defaults final (resolvePhases defaults)) - (resolvePhases package.phases) - all; + builtins.foldl' ( + final: defaults: lib.dag.apply.defaults final (resolvePhases defaults) + ) (resolvePhases package.phases) all; phases = lib.dag.apply.defaults phasesWithHooks { unpack = lib.dag.entry.before [ "patch" ] ""; @@ -52,13 +51,11 @@ in sorted = lib.dag.sort.topological phases; - script = lib.strings.concatMapSep "\n" - (entry: '' - # Phase: ${entry.name} - # ==================================================== - ${entry.value} - '') - sorted.result; + script = lib.strings.concatMapSep "\n" (entry: '' + # Phase: ${entry.name} + # ==================================================== + ${entry.value} + '') sorted.result; executable = if system == "i686-linux" then @@ -100,11 +97,14 @@ in foundation.stage2-coreutils ] ++ lib.lists.when (system == "x86_64-linux") [ - (lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "i686-linux" system system).package - (lib.packages.build packages.foundation.coreutils.versions."9.4-stage1" "i686-linux" system system).package + (lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "i686-linux" system system) + .package + (lib.packages.build packages.foundation.coreutils.versions."9.4-stage1" "i686-linux" system system) + .package ] ++ lib.lists.when (system != "i686-linux" && system != "x86_64-linux") [ - (lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "x86_64-linux" system system).package + (lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "x86_64-linux" system system) + .package (lib.packages.build packages.foundation.coreutils.versions."9.4-stage1" "x86_64-linux" system system ).package diff --git a/tidepool/src/lib/packages.nix b/tidepool/src/lib/packages.nix index b9d7384..fafb17d 100644 --- a/tidepool/src/lib/packages.nix +++ b/tidepool/src/lib/packages.nix @@ -67,16 +67,26 @@ in in { build = { - build = withoutNulls (builtins.attrValues package.deps.build.build ++ process package.deps.build.build); - host = withoutNulls (builtins.attrValues package.deps.build.host ++ process package.deps.build.host); - target = withoutNulls (builtins.attrValues package.deps.build.target ++ process package.deps.build.target); + build = withoutNulls ( + builtins.attrValues package.deps.build.build ++ process package.deps.build.build + ); + host = withoutNulls ( + builtins.attrValues package.deps.build.host ++ process package.deps.build.host + ); + target = withoutNulls ( + builtins.attrValues package.deps.build.target ++ process package.deps.build.target + ); }; host = { host = withoutNulls (builtins.attrValues package.deps.host.host ++ process package.deps.host.host); - target = withoutNulls (builtins.attrValues package.deps.host.target ++ process package.deps.host.target); + target = withoutNulls ( + builtins.attrValues package.deps.host.target ++ process package.deps.host.target + ); }; target = { - target = withoutNulls (builtins.attrValues package.deps.target.target ++ process package.deps.target.target); + target = withoutNulls ( + builtins.attrValues package.deps.target.target ++ process package.deps.target.target + ); }; }; }; @@ -123,30 +133,42 @@ in in result.config; - build = process "build" [ collected.build.build collected.build.host collected.build.target ]; - host = process "host" [ collected.host.host collected.host.target ]; + build = process "build" [ + collected.build.build + collected.build.host + collected.build.target + ]; + host = process "host" [ + collected.host.host + collected.host.target + ]; target = process "target" [ collected.target.target ]; in - build // host // - { - inherit build host target; + build + // host + // { + inherit + build + host + target + package + ; deps = collected; - __toString = value: + __toString = + value: let - all = builtins.mapAttrs - (host: targets: - builtins.mapAttrs - (target: deps: - builtins.map (dep: dep.package) deps - ) - targets - ) - collected; + all = builtins.mapAttrs ( + host: targets: builtins.mapAttrs (target: deps: builtins.map (dep: dep.package) deps) targets + ) collected; in builtins.toJSON ( - builtins.removeAttrs value [ "deps" "__toString" ] // { + builtins.removeAttrs value [ + "deps" + "__toString" + ] + // { deps = all; } ); @@ -161,9 +183,9 @@ in path: let dependencies = lib.attrs.selectOrThrow path collected; - hooks = builtins.map - (dependency: if builtins.isFunction dependency.hooks then dependency.hooks ctx else dependency.hooks) - dependencies; + hooks = builtins.map ( + dependency: if builtins.isFunction dependency.hooks then dependency.hooks ctx else dependency.hooks + ) dependencies; in hooks; in @@ -209,15 +231,17 @@ in in builtins.head sorted; - getOutputs = alias: + getOutputs = + alias: let package = lib.packages.resolve alias; - outputs = if builtins.isList package.outputs then - lib.attrs.generate package.outputs (output: package.package.${output}) - else - package.outputs; + outputs = + if builtins.isList package.outputs then + lib.attrs.generate package.outputs (output: package.package.${output}) + else + package.outputs; in - outputs; + outputs; resolve = alias: @@ -270,11 +294,9 @@ in alias: build: host: target: let package = lib.packages.resolve alias; - matches = builtins.filter - ( - platform: platform.build == build && platform.host == host && platform.target == target - ) - package.platforms; + matches = builtins.filter ( + platform: platform.build == build && platform.host == host && platform.target == target + ) package.platforms; in { compatible = diff --git a/tidepool/src/lib/types.nix b/tidepool/src/lib/types.nix index d487e1e..b706ebf 100644 --- a/tidepool/src/lib/types.nix +++ b/tidepool/src/lib/types.nix @@ -152,11 +152,9 @@ in merge = location: definitions: let - modules = builtins.concatMap - ( - definition: lib.lists.from.any (normalize definition.value) - ) - definitions; + modules = builtins.concatMap ( + definition: lib.lists.from.any (normalize definition.value) + ) definitions; result = lib.modules.run { prefix = location; @@ -175,10 +173,10 @@ in }; submodule = - { config - , meta - , name ? "builder" - , + { + config, + meta, + name ? "builder", }: { options = { @@ -290,32 +288,26 @@ in transform = value: let - result = builtins.mapAttrs - ( - namespace: aliases: - builtins.mapAttrs - ( - id: alias: - alias - // { - versions = builtins.mapAttrs - (version: package: { - __modules__ = (lib.lists.from.any (normalize package)) ++ [ - { - config = { - id = lib.modules.overrides.default id; - version = lib.modules.overrides.default version; - namespace = lib.modules.overrides.default namespace; - }; - } - ]; - }) - alias.versions; - } - ) - aliases - ) - value; + result = builtins.mapAttrs ( + namespace: aliases: + builtins.mapAttrs ( + id: alias: + alias + // { + versions = builtins.mapAttrs (version: package: { + __modules__ = (lib.lists.from.any (normalize package)) ++ [ + { + config = { + id = lib.modules.overrides.default id; + version = lib.modules.overrides.default version; + namespace = lib.modules.overrides.default namespace; + }; + } + ]; + }) alias.versions; + } + ) aliases + ) value; in result; @@ -413,8 +405,8 @@ in let default = config.${global.config.preferences.packages.version}; in - default.extend - or (builtins.throw "Package \"${name}\" does not have a ${global.config.preferences.packages.version} release."); + default.extend + or (builtins.throw "Package \"${name}\" does not have a ${global.config.preferences.packages.version} release."); }; stable = lib.options.create { @@ -496,11 +488,9 @@ in merge = location: definitions: let - modules = builtins.concatMap - ( - definition: lib.lists.from.any (normalize definition.value) - ) - definitions; + modules = builtins.concatMap ( + definition: lib.lists.from.any (normalize definition.value) + ) definitions; result = lib.modules.run { prefix = location; @@ -567,9 +557,9 @@ in }; submodule = - { config - , meta - , + { + config, + meta, }: let build = config.platform.build; @@ -813,19 +803,17 @@ in outputs = lib.options.create { description = "The outputs for the package."; - type = let - initial = lib.types.attrs.of lib.types.derivation; + type = + let + initial = lib.types.attrs.of lib.types.derivation; - transform = builtins.attrNames; + transform = builtins.attrNames; - final = lib.types.list.of lib.types.string; - in + final = lib.types.list.of lib.types.string; + in lib.types.coerce initial transform final; default.value = [ "out" ]; - apply = outputs: - lib.attrs.generate - outputs - (output: config.package.${output}); + apply = outputs: lib.attrs.generate outputs (output: config.package.${output}); }; env = lib.options.create { diff --git a/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1-passthrough.nix b/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1-passthrough.nix index df8fc09..cfc1257 100644 --- a/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1-passthrough.nix +++ b/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1-passthrough.nix @@ -4,7 +4,8 @@ let inherit (global) lib packages - builders; + builders + ; package = packages.foundation.bash.versions."5.2.15-stage1".extend { platform = { diff --git a/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix b/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix index 5f51924..7d53d5f 100644 --- a/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix +++ b/tidepool/src/packages/foundation/bash/versions/5.2.15-stage1.nix @@ -5,7 +5,8 @@ let lib packages builders - mirrors; + mirrors + ; version = lib.strings.removeSuffix "-stage1" config.version; diff --git a/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix b/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix index fa22912..8e68f86 100644 --- a/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix +++ b/tidepool/src/packages/foundation/bzip2/versions/1.0.8-stage1.nix @@ -15,10 +15,9 @@ let target = lib.systems.withBuildInfo config.platform.target; }; - prefix = lib.strings.when - ( - platform.build.triple != platform.host.triple - ) "${platform.host.triple}-"; + prefix = lib.strings.when ( + platform.build.triple != platform.host.triple + ) "${platform.host.triple}-"; in { config = { diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix index 1dca2b8..8117aea 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage1.nix @@ -17,10 +17,9 @@ let target = lib.systems.withBuildInfo config.platform.target; }; - prefix = lib.strings.when - ( - platform.build.triple != platform.target.triple - ) "${platform.target.triple}-"; + prefix = lib.strings.when ( + platform.build.triple != platform.target.triple + ) "${platform.target.triple}-"; patches = [ ../patches/libstdc++-target.patch diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix index 5fc0d32..b392e16 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage2.nix @@ -17,10 +17,9 @@ let target = lib.systems.withBuildInfo config.platform.target; }; - prefix = lib.strings.when - ( - platform.build.triple != platform.target.triple - ) "${platform.target.triple}-"; + prefix = lib.strings.when ( + platform.build.triple != platform.target.triple + ) "${platform.target.triple}-"; patches = [ ../patches/libstdc++-target.patch diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix index 11d37e7..fbf2769 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage3.nix @@ -17,10 +17,9 @@ let target = lib.systems.withBuildInfo config.platform.target; }; - prefix = lib.strings.when - ( - platform.build.triple != platform.target.triple - ) "${platform.target.triple}-"; + prefix = lib.strings.when ( + platform.build.triple != platform.target.triple + ) "${platform.target.triple}-"; patches = [ ../patches/libstdc++-target.patch diff --git a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage5.nix b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage5.nix index 498fc02..067e3b7 100644 --- a/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage5.nix +++ b/tidepool/src/packages/foundation/gcc/versions/13.2.0-stage5.nix @@ -11,17 +11,15 @@ let if config.platform.build == config.platform.host && config.platform.host != config.platform.target then - packages.foundation.gcc.versions."13.2.0-stage2".extend - { - platform = lib.modules.overrides.force config.platform; - } + packages.foundation.gcc.versions."13.2.0-stage2".extend { + platform = lib.modules.overrides.force config.platform; + } else if config.platform.build != config.platform.host && config.platform.host == config.platform.target then - packages.foundation.gcc.versions."13.2.0-stage3".extend - { - platform = lib.modules.overrides.force config.platform; - } + packages.foundation.gcc.versions."13.2.0-stage3".extend { + platform = lib.modules.overrides.force config.platform; + } else packages.foundation.gcc.versions."13.2.0-stage4".extend { platform = lib.modules.overrides.force config.platform; diff --git a/tidepool/src/packages/foundation/musl/versions/1.2.4.nix b/tidepool/src/packages/foundation/musl/versions/1.2.4.nix index 8e59566..393c6c7 100644 --- a/tidepool/src/packages/foundation/musl/versions/1.2.4.nix +++ b/tidepool/src/packages/foundation/musl/versions/1.2.4.nix @@ -20,7 +20,10 @@ in platforms = { build = "i686-linux"; host = "i686-linux"; - target = [ "i686-linux" "x86_64-linux" ]; + target = [ + "i686-linux" + "x86_64-linux" + ]; }; builder = builders.foundation.basic;