diff options
author | Vincent Ambo <mail@tazj.in> | 2022-05-18T15·39+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2022-05-19T14·08+0000 |
commit | d127f9bd0e7b9b2e0df2de8a2227f77c0907468d (patch) | |
tree | 68455040d88b8e0c2817601db88ede450873ff8e /third_party/nix/src/nix-store/graphml.cc | |
parent | c85291c602ac666421627d6934ebc6d5be1b93e1 (diff) |
chore(3p/nix): unvendor tvix 0.1 r/4098
Nothing is using this now, and we'll likely never pick this up again, but we learned a lot in the process. Every now and then this breaks in some bizarre way on channel bumps and it's just a waste of time to maintain that. Change-Id: Idcf2f5acd4ca7070ce18d7149cbfc0d967dc0a44 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5632 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Autosubmit: tazjin <tazjin@tvl.su>
Diffstat (limited to 'third_party/nix/src/nix-store/graphml.cc')
-rw-r--r-- | third_party/nix/src/nix-store/graphml.cc | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/third_party/nix/src/nix-store/graphml.cc b/third_party/nix/src/nix-store/graphml.cc deleted file mode 100644 index ada4aaf6d048..000000000000 --- a/third_party/nix/src/nix-store/graphml.cc +++ /dev/null @@ -1,80 +0,0 @@ -#include "nix-store/graphml.hh" - -#include <iostream> - -#include "libstore/derivations.hh" -#include "libstore/store-api.hh" -#include "libutil/util.hh" - -using std::cout; - -namespace nix { - -static inline const std::string& xmlQuote(const std::string& s) { - // Luckily, store paths shouldn't contain any character that needs to be - // quoted. - return s; -} - -static std::string symbolicName(const std::string& path) { - std::string p = baseNameOf(path); - return std::string(p, p.find('-') + 1); -} - -static std::string makeEdge(const std::string& src, const std::string& dst) { - return fmt(" <edge source=\"%1%\" target=\"%2%\"/>\n", xmlQuote(src), - xmlQuote(dst)); -} - -static std::string makeNode(const ValidPathInfo& info) { - return fmt( - " <node id=\"%1%\">\n" - " <data key=\"narSize\">%2%</data>\n" - " <data key=\"name\">%3%</data>\n" - " <data key=\"type\">%4%</data>\n" - " </node>\n", - info.path, info.narSize, symbolicName(info.path), - (isDerivation(info.path) ? "derivation" : "output-path")); -} - -void printGraphML(const ref<Store>& store, const PathSet& roots) { - PathSet workList(roots); - PathSet doneSet; - std::pair<PathSet::iterator, bool> ret; - - cout << "<?xml version='1.0' encoding='utf-8'?>\n" - << "<graphml xmlns='http://graphml.graphdrawing.org/xmlns'\n" - << " xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'\n" - << " " - "xsi:schemaLocation='http://graphml.graphdrawing.org/xmlns/1.0/" - "graphml.xsd'>\n" - << "<key id='narSize' for='node' attr.name='narSize' attr.type='int'/>" - << "<key id='name' for='node' attr.name='name' attr.type='string'/>" - << "<key id='type' for='node' attr.name='type' attr.type='string'/>" - << "<graph id='G' edgedefault='directed'>\n"; - - while (!workList.empty()) { - Path path = *(workList.begin()); - workList.erase(path); - - ret = doneSet.insert(path); - if (!ret.second) { - continue; - } - - ValidPathInfo info = *(store->queryPathInfo(path)); - cout << makeNode(info); - - for (auto& p : store->queryPathInfo(path)->references) { - if (p != path) { - workList.insert(p); - cout << makeEdge(path, p); - } - } - } - - cout << "</graph>\n"; - cout << "</graphml>\n"; -} - -} // namespace nix |