aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/dot2tex/path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/dot2tex/path.patch')
-rw-r--r--nixpkgs/pkgs/development/python-modules/dot2tex/path.patch104
1 files changed, 104 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/dot2tex/path.patch b/nixpkgs/pkgs/development/python-modules/dot2tex/path.patch
new file mode 100644
index 00000000000..4e05b7a8dff
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dot2tex/path.patch
@@ -0,0 +1,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
+ #