mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-09-29 15:43:00 +00:00
haskellPackages.graphviz: hardcode references to graphviz tools
This will make everything using graphviz just work without graphviz having to be able from PATH (in a nix-shell or installed globally).
This commit is contained in:
parent
07c7f8e267
commit
f522c412d5
@ -996,4 +996,15 @@ self: super: builtins.intersectAttrs super {
|
||||
fi
|
||||
'' + (drv.postConfigure or "");
|
||||
}) super.procex;
|
||||
|
||||
# Apply a patch which hardcodes the store path of graphviz instead of using
|
||||
# whatever graphviz is in PATH.
|
||||
graphviz = overrideCabal (drv: {
|
||||
patches = [
|
||||
(pkgs.substituteAll {
|
||||
src = ./patches/graphviz-hardcode-graphviz-store-path.patch;
|
||||
inherit (pkgs) graphviz;
|
||||
})
|
||||
] ++ (drv.patches or []);
|
||||
}) super.graphviz;
|
||||
}
|
||||
|
@ -0,0 +1,40 @@
|
||||
diff --git a/Data/GraphViz/Commands.hs b/Data/GraphViz/Commands.hs
|
||||
index 20e7dbe..514c29d 100644
|
||||
--- a/Data/GraphViz/Commands.hs
|
||||
+++ b/Data/GraphViz/Commands.hs
|
||||
@@ -63,14 +63,14 @@ import System.IO (Handle, hPutStrLn, hSetBinaryMode, stderr)
|
||||
-- -----------------------------------------------------------------------------
|
||||
|
||||
showCmd :: GraphvizCommand -> String
|
||||
-showCmd Dot = "dot"
|
||||
-showCmd Neato = "neato"
|
||||
-showCmd TwoPi = "twopi"
|
||||
-showCmd Circo = "circo"
|
||||
-showCmd Fdp = "fdp"
|
||||
-showCmd Sfdp = "sfdp"
|
||||
-showCmd Osage = "osage"
|
||||
-showCmd Patchwork = "patchwork"
|
||||
+showCmd Dot = "@graphviz@/bin/dot"
|
||||
+showCmd Neato = "@graphviz@/bin/neato"
|
||||
+showCmd TwoPi = "@graphviz@/bin/twopi"
|
||||
+showCmd Circo = "@graphviz@/bin/circo"
|
||||
+showCmd Fdp = "@graphviz@/bin/fdp"
|
||||
+showCmd Sfdp = "@graphviz@/bin/sfdp"
|
||||
+showCmd Osage = "@graphviz@/bin/osage"
|
||||
+showCmd Patchwork = "@graphviz@/bin/patchwork"
|
||||
|
||||
-- | The default command for directed graphs.
|
||||
dirCommand :: GraphvizCommand
|
||||
@@ -312,8 +312,11 @@ runGraphvizCanvas' d = runGraphvizCanvas (commandFor d) d
|
||||
|
||||
-- | Is the Graphviz suite of tools installed? This is determined by
|
||||
-- whether @dot@ is available in the @PATH@.
|
||||
+--
|
||||
+-- Note: With nixpkgs, this will always return 'True' as graphviz'
|
||||
+-- store paths are hardcoded instead of looking at @PATH@.
|
||||
isGraphvizInstalled :: IO Bool
|
||||
-isGraphvizInstalled = liftM isJust . findExecutable $ showCmd Dot
|
||||
+isGraphvizInstalled = pure True -- :)
|
||||
|
||||
-- | If Graphviz does not seem to be available, print the provided
|
||||
-- error message and then exit fatally.
|
Loading…
Reference in New Issue
Block a user