From ac1d2a1221a873dfa105c178225e8a7643ecc794 Mon Sep 17 00:00:00 2001 From: Andres Loeh Date: Sat, 2 Feb 2013 20:26:09 +0100 Subject: [PATCH] Add haskell-ghc-vis, haskell-heap-view and deps. --- .../haskell/ghc-heap-view/default.nix | 14 +++++++++++++ .../libraries/haskell/ghc-vis/default.nix | 20 +++++++++++++++++++ .../libraries/haskell/xdot/default.nix | 14 +++++++++++++ pkgs/top-level/haskell-packages.nix | 12 +++++++++++ 4 files changed, 60 insertions(+) create mode 100644 pkgs/development/libraries/haskell/ghc-heap-view/default.nix create mode 100644 pkgs/development/libraries/haskell/ghc-vis/default.nix create mode 100644 pkgs/development/libraries/haskell/xdot/default.nix diff --git a/pkgs/development/libraries/haskell/ghc-heap-view/default.nix b/pkgs/development/libraries/haskell/ghc-heap-view/default.nix new file mode 100644 index 00000000000..99aa99fc9d3 --- /dev/null +++ b/pkgs/development/libraries/haskell/ghc-heap-view/default.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "ghc-heap-view"; + version = "0.4.1.0"; + sha256 = "1icq5620j37n85d08yfpln75f9944flbqyqhjqsf0qr72zsm3w11"; + buildDepends = [ transformers ]; + meta = { + description = "Extract the heap representation of Haskell values and thunks"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix new file mode 100644 index 00000000000..4b606e8b73b --- /dev/null +++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix @@ -0,0 +1,20 @@ +{ cabal, cairo, deepseq, fgl, ghcHeapView, graphviz, gtk, mtl +, svgcairo, text, transformers, xdot +}: + +cabal.mkDerivation (self: { + pname = "ghc-vis"; + version = "0.6"; + sha256 = "0gvfs0f6fjg4bzq9q6rrhin6gk1pbyw9qbigi90cz1fg10nq7nzi"; + buildDepends = [ + cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text + transformers xdot + ]; + meta = { + homepage = "http://felsin9.de/nnis/ghc-vis"; + description = "Live visualization of data structures in GHCi"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix new file mode 100644 index 00000000000..73cc5c6e764 --- /dev/null +++ b/pkgs/development/libraries/haskell/xdot/default.nix @@ -0,0 +1,14 @@ +{ cabal, cairo, graphviz, gtk, mtl, polyparse, text }: + +cabal.mkDerivation (self: { + pname = "xdot"; + version = "0.2.2"; + sha256 = "1n7lwshfn5rzbk4fxlkn02fxki2xh5m0304hnb1d5mchxyzhfdan"; + buildDepends = [ cairo graphviz gtk mtl polyparse text ]; + meta = { + description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 290124dee1a..be8744c4493 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -835,6 +835,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghcEvents = callPackage ../development/libraries/haskell/ghc-events {}; + ghcHeapView = callPackage ../development/libraries/haskell/ghc-heap-view { + cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled + }; + ghcMod = callPackage ../development/libraries/haskell/ghc-mod { inherit (pkgs) emacs; }; @@ -847,6 +851,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ghcSybUtils = callPackage ../development/libraries/haskell/ghc-syb-utils {}; + ghcVis = callPackage ../development/libraries/haskell/ghc-vis { + cabal = self.cabal.override { enableLibraryProfiling = false; }; # pkg cannot be built with profiling enabled + }; + gio = callPackage ../development/libraries/haskell/gio {}; gitit = callPackage ../development/libraries/haskell/gitit {}; @@ -1825,6 +1833,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); X11Xft = callPackage ../development/libraries/haskell/X11-xft {}; + xdot = callPackage ../development/libraries/haskell/xdot { + polyparse = self.polyparse_1_7; + }; + xhtml_3000_2_0_1 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.1.nix {}; xhtml_3000_2_0_4 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.4.nix {}; xhtml_3000_2_0_5 = callPackage ../development/libraries/haskell/xhtml/3000.2.0.5.nix {};