File: reproducible-build.patch

package info (click to toggle)
snakemake 7.32.4-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,832 kB
  • sloc: python: 32,846; javascript: 1,287; makefile: 247; sh: 163; ansic: 57; lisp: 9
file content (33 lines) | stat: -rw-r--r-- 1,123 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Description: Make the build reproducible
Author: Chris Lamb <lamby@debian.org>
Last-Update: 2021-10-22

--- a/snakemake/dag.py
+++ b/snakemake/dag.py
@@ -2073,7 +2073,7 @@ class DAG(DAGExecutorInterface):
         huefactor = 2 / (3 * len(self.rules))
         rulecolor = {
             rule: "{:.2f} 0.6 0.85".format(i * huefactor)
-            for i, rule in enumerate(self.rules)
+            for i, rule in sorted(enumerate(self.rules))
         }
 
         # markup
@@ -2141,7 +2141,7 @@ class DAG(DAGExecutorInterface):
         huefactor = 2 / (3 * len(self.rules))
         rulecolor = {
             rule: hsv_to_htmlhexrgb(i * huefactor, 0.6, 0.85)
-            for i, rule in enumerate(self.rules)
+            for i, rule in sorted(enumerate(self.rules))
         }
 
         def resolve_input_functions(input_files):
@@ -2247,7 +2247,7 @@ class DAG(DAGExecutorInterface):
             {items}
             }}\
             """
-        ).format(items="\n".join(nodes + edges))
+        ).format(items="\n".join(sorted(nodes) + sorted(edges)))
 
     def summary(self, detailed=False):
         if detailed: