about summary refs log tree commit diff
path: root/tools/nixery/group-layers
diff options
context:
space:
mode:
Diffstat (limited to 'tools/nixery/group-layers')
-rwxr-xr-xtools/nixery/group-layers/popcount13
-rw-r--r--tools/nixery/group-layers/popcount.nix51
2 files changed, 0 insertions, 64 deletions
diff --git a/tools/nixery/group-layers/popcount b/tools/nixery/group-layers/popcount
deleted file mode 100755
index 83baf3045da7..000000000000
--- a/tools/nixery/group-layers/popcount
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-set -ueo pipefail
-
-function graphsFor() {
-  local pkg="${1}"
-  local graphs=$(nix-build --timeout 2 --argstr target "${pkg}" popcount.nix || echo -n 'empty.json')
-  cat $graphs | jq -r -cM '.[] | .references[]'
-}
-
-for pkg in $(cat all-top-level.json | jq -r '.[]'); do
-  graphsFor "${pkg}" 2>/dev/null
-  echo "Printed refs for ${pkg}" >&2
-done
diff --git a/tools/nixery/group-layers/popcount.nix b/tools/nixery/group-layers/popcount.nix
deleted file mode 100644
index e21d7367724b..000000000000
--- a/tools/nixery/group-layers/popcount.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ pkgs ? import <nixpkgs> { config.allowUnfree = false; }
-, target }:
-
-let
-  inherit (pkgs) coreutils runCommand writeText;
-  inherit (builtins) replaceStrings readFile toFile fromJSON toJSON foldl' listToAttrs;
-
-  path = [ pkgs."${target}" ];
-
-  # graphJSON abuses feature in Nix that makes structured runtime
-  # closure information available to builders. This data is imported
-  # back via IFD to process it for layering data.
-  graphJSON =
-    path:
-    runCommand "build-graph" {
-      __structuredAttrs = true;
-      exportReferencesGraph.graph = path;
-      PATH = "${coreutils}/bin";
-      builder = toFile "builder" ''
-        . .attrs.sh
-        cat .attrs.json > ''${outputs[out]}
-      '';
-    } "";
-
-  buildClosures = paths: (fromJSON (readFile (graphJSON paths)));
-
-  buildGraph = paths: listToAttrs (map (c: {
-    name = c.path;
-    value = {
-    inherit (c) closureSize references;
-    };
-  }) (buildClosures paths));
-
-  # Nix does not allow attrbute set keys to refer to store paths, but
-  # we need them to for the purpose of the calculation. To work around
-  # it, the store path prefix is replaced with the string 'closure/'
-  # and later replaced again.
-  fromStorePath = replaceStrings [ "/nix/store" ] [ "closure/" ];
-  toStorePath = replaceStrings [ "closure/" ] [ "/nix/store/" ];
-
-  buildTree = paths:
-  let
-    graph = buildGraph paths;
-    top = listToAttrs (map (p: {
-      name = fromStorePath (toString p);
-      value = {};
-    }) paths);
-  in top;
-
-  outputJson = thing: writeText "the-thing.json" (builtins.toJSON thing);
-in outputJson (buildClosures path).graph