about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/dot2tex/path.patch
blob: 4e05b7a8dff398f7ced1b33e9a2e4e6f045f69f5 (plain) (blame)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
diff --git a/dot2tex/dotparsing.py b/dot2tex/dotparsing.py
index 391b5dc..6dc77a3 100644
--- a/dot2tex/dotparsing.py
+++ b/dot2tex/dotparsing.py
@@ -180,18 +180,8 @@ def __find_executables(path):
 def find_graphviz():
     """Locate Graphviz's executables in the system.
 
-    Tries three methods:
-
-    First: Windows Registry (Windows only)
-    This requires Mark Hammond's pywin32 is installed.
-
-    Secondly: Search the path
-    It will look for 'dot', 'twopi' and 'neato' in all the directories
-    specified in the PATH environment variable.
-
-    Thirdly: Default install location (Windows only)
-    It will look for 'dot', 'twopi' and 'neato' in the default install
-    location under the "Program Files" directory.
+    It will look for 'dot', 'twopi' and 'neato' in
+    @graphviz@/bin.
 
     It will return a dictionary containing the program names as keys
     and their paths as values.
@@ -199,75 +189,9 @@ def find_graphviz():
     If this fails, it returns None.
     """
 
-    # Method 1 (Windows only)
-    #
-    if os.sys.platform == 'win32':
-        try:
-            import win32api, win32con
-
-            # Get the GraphViz install path from the registry
-            #
-            hkey = win32api.RegOpenKeyEx(win32con.HKEY_LOCAL_MACHINE,
-                                         "SOFTWARE\AT&T Research Labs\Graphviz", 0, win32con.KEY_QUERY_VALUE)
-
-            path = win32api.RegQueryValueEx(hkey, "InstallPath")[0]
-            win32api.RegCloseKey(hkey)
-
-            # Now append the "bin" subdirectory:
-            #
-            path = os.path.join(path, "bin")
-            progs = __find_executables(path)
-            if progs is not None:
-                # print("Used Windows registry")
-                return progs
-
-        except ImportError:
-            # Print a messaged suggesting they install these?
-            #
-            log.debug('The win32api is not installed')
-            pass
-        except:
-            log.debug('Failed to access the registry key')
-
-    # Method 2 (Linux, Windows etc)
-    #
-    if 'PATH' in os.environ:
-        for path in os.environ['PATH'].split(os.pathsep):
-            progs = __find_executables(path)
-            if progs is not None:
-                return progs
-
-    # Method 3 (Windows only)
-    #
-    if os.sys.platform == 'win32':
-        # Try and work out the equivalent of "C:\Program Files" on this
-        # machine (might be on drive D:, or in a different language)
-        #
-        if 'PROGRAMFILES' in os.environ:
-            # Note, we could also use the win32api to get this
-            # information, but win32api may not be installed.
-
-            path = os.path.join(os.environ['PROGRAMFILES'], 'ATT', 'GraphViz', 'bin')
-
-        else:
-            # Just in case, try the default...
-            path = r"C:\Program Files\att\Graphviz\bin"
-
-        progs = __find_executables(path)
-
-        if progs is not None:
-            # print("Used default install location")
-            return progs
-
-    for path in (
-            '/usr/bin', '/usr/local/bin',
-            '/opt/local/bin',
-            '/opt/bin', '/sw/bin', '/usr/share',
-            '/Applications/Graphviz.app/Contents/MacOS/'):
-        progs = __find_executables(path)
-        if progs is not None:
-            # print("Used path")
-            return progs
+    progs = __find_executables('@graphviz@/bin')
+    if progs is not None:
+        return progs
 
     # Failed to find GraphViz
     #