diff --git a/default.nix b/default.nix index 4f2eadb..ec369a7 100644 --- a/default.nix +++ b/default.nix @@ -1,27 +1,30 @@ +{ mkDerivation, ad, aeson, base, bytestring, containers +, deepseq, directory, filepath, lib, process, random +, raw-strings-qq, split, tasty, tasty-expected-failure +, tasty-golden, tasty-hunit, temporary, which, pkgs +}: let - sources = import nix/sources.nix {}; - haskell-nix = (import sources."haskell.nix" {}); - nixpkgs = haskell-nix.pkgs; - gitignore = (import sources."gitignore.nix" { - inherit (nixpkgs) lib; - }).gitignoreSource; - - src = nixpkgs.lib.cleanSourceWith { - name = "matplotlib"; - src = gitignore ./.; - }; + python = pkgs.python3.withPackages (p: with p; [ + matplotlib + numpy + scipy + ]); in -nixpkgs.haskell-nix.stackProject { - inherit src; - modules = [({pkgs, ...}: { - packages.matplotlib.components.library.build-tools = - [ pkgs.buildPackages.python39Packages.matplotlib - pkgs.buildPackages.python39Packages.scipy - pkgs.buildPackages.texlive.combined.scheme-small ]; - packages.matplotlib.components.tests.matplotlib-test.build-tools = - [ pkgs.buildPackages.python39Packages.matplotlib - pkgs.buildPackages.python39Packages.scipy - pkgs.buildPackages.texlive.combined.scheme-small ]; - doHaddock = false; - })]; +mkDerivation { + pname = "matplotlib"; + version = "0.7.7"; + src = ./.; + libraryHaskellDepends = [ + aeson base bytestring containers deepseq filepath process split + temporary which + ]; + testHaskellDepends = [ + ad base bytestring directory process random raw-strings-qq split + tasty tasty-expected-failure tasty-golden tasty-hunit temporary + ]; + librarySystemDepends = [ python which ]; + testSystemDepends = [ python which ]; + homepage = "https://github.com/abarbu/matplotlib-haskell"; + description = "Bindings to Matplotlib; a Python plotting library"; + license = lib.licenses.bsd3; } diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.dyn_hi b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.dyn_hi new file mode 100644 index 0000000..1ab2d1f Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.dyn_hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.dyn_o b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.dyn_o new file mode 100644 index 0000000..6e0f4cf Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.dyn_o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.hi b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.hi new file mode 100644 index 0000000..f94af26 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.o b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.o new file mode 100644 index 0000000..979a0a4 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.dyn_hi b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.dyn_hi new file mode 100644 index 0000000..621abd0 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.dyn_hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.dyn_o b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.dyn_o new file mode 100644 index 0000000..55b0725 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.dyn_o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.hi b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.hi new file mode 100644 index 0000000..ccec3f8 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.hi differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.o b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.o new file mode 100644 index 0000000..83dc546 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/Graphics/Matplotlib/Internal.o differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/autogen/Paths_matplotlib.hs b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/autogen/Paths_matplotlib.hs new file mode 100644 index 0000000..29bc066 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/autogen/Paths_matplotlib.hs @@ -0,0 +1,74 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE NoRebindableSyntax #-} +{-# OPTIONS_GHC -fno-warn-missing-import-lists #-} +{-# OPTIONS_GHC -w #-} +module Paths_matplotlib ( + version, + getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, + getDataFileName, getSysconfDir + ) where + + +import qualified Control.Exception as Exception +import qualified Data.List as List +import Data.Version (Version(..)) +import System.Environment (getEnv) +import Prelude + + +#if defined(VERSION_base) + +#if MIN_VERSION_base(4,0,0) +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#else +catchIO :: IO a -> (Exception.Exception -> IO a) -> IO a +#endif + +#else +catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a +#endif +catchIO = Exception.catch + +version :: Version +version = Version [0,7,7] [] + +getDataFileName :: FilePath -> IO FilePath +getDataFileName name = do + dir <- getDataDir + return (dir `joinFileName` name) + +getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath + + + +bindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath +bindir = "/home/lazylambda/.cabal/bin" +libdir = "/home/lazylambda/.cabal/lib/x86_64-linux-ghc-8.10.7/matplotlib-0.7.7-inplace" +dynlibdir = "/home/lazylambda/.cabal/lib/x86_64-linux-ghc-8.10.7" +datadir = "/home/lazylambda/.cabal/share/x86_64-linux-ghc-8.10.7/matplotlib-0.7.7" +libexecdir = "/home/lazylambda/.cabal/libexec/x86_64-linux-ghc-8.10.7/matplotlib-0.7.7" +sysconfdir = "/home/lazylambda/.cabal/etc" + +getBinDir = catchIO (getEnv "matplotlib_bindir") (\_ -> return bindir) +getLibDir = catchIO (getEnv "matplotlib_libdir") (\_ -> return libdir) +getDynLibDir = catchIO (getEnv "matplotlib_dynlibdir") (\_ -> return dynlibdir) +getDataDir = catchIO (getEnv "matplotlib_datadir") (\_ -> return datadir) +getLibexecDir = catchIO (getEnv "matplotlib_libexecdir") (\_ -> return libexecdir) +getSysconfDir = catchIO (getEnv "matplotlib_sysconfdir") (\_ -> return sysconfdir) + + + + +joinFileName :: String -> String -> FilePath +joinFileName "" fname = fname +joinFileName "." fname = fname +joinFileName dir "" = dir +joinFileName dir fname + | isPathSeparator (List.last dir) = dir ++ fname + | otherwise = dir ++ pathSeparator : fname + +pathSeparator :: Char +pathSeparator = '/' + +isPathSeparator :: Char -> Bool +isPathSeparator c = c == '/' diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/autogen/cabal_macros.h b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/autogen/cabal_macros.h new file mode 100644 index 0000000..be30ad4 --- /dev/null +++ b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/autogen/cabal_macros.h @@ -0,0 +1,203 @@ +/* DO NOT EDIT: This file is automatically generated by Cabal */ + +/* package matplotlib-0.7.7 */ +#ifndef VERSION_matplotlib +#define VERSION_matplotlib "0.7.7" +#endif /* VERSION_matplotlib */ +#ifndef MIN_VERSION_matplotlib +#define MIN_VERSION_matplotlib(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 7 || \ + (major1) == 0 && (major2) == 7 && (minor) <= 7) +#endif /* MIN_VERSION_matplotlib */ +/* package aeson-1.5.6.0 */ +#ifndef VERSION_aeson +#define VERSION_aeson "1.5.6.0" +#endif /* VERSION_aeson */ +#ifndef MIN_VERSION_aeson +#define MIN_VERSION_aeson(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 5 || \ + (major1) == 1 && (major2) == 5 && (minor) <= 6) +#endif /* MIN_VERSION_aeson */ +/* package base-4.14.3.0 */ +#ifndef VERSION_base +#define VERSION_base "4.14.3.0" +#endif /* VERSION_base */ +#ifndef MIN_VERSION_base +#define MIN_VERSION_base(major1,major2,minor) (\ + (major1) < 4 || \ + (major1) == 4 && (major2) < 14 || \ + (major1) == 4 && (major2) == 14 && (minor) <= 3) +#endif /* MIN_VERSION_base */ +/* package bytestring-0.10.12.0 */ +#ifndef VERSION_bytestring +#define VERSION_bytestring "0.10.12.0" +#endif /* VERSION_bytestring */ +#ifndef MIN_VERSION_bytestring +#define MIN_VERSION_bytestring(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 10 || \ + (major1) == 0 && (major2) == 10 && (minor) <= 12) +#endif /* MIN_VERSION_bytestring */ +/* package containers-0.6.5.1 */ +#ifndef VERSION_containers +#define VERSION_containers "0.6.5.1" +#endif /* VERSION_containers */ +#ifndef MIN_VERSION_containers +#define MIN_VERSION_containers(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 6 || \ + (major1) == 0 && (major2) == 6 && (minor) <= 5) +#endif /* MIN_VERSION_containers */ +/* package deepseq-1.4.4.0 */ +#ifndef VERSION_deepseq +#define VERSION_deepseq "1.4.4.0" +#endif /* VERSION_deepseq */ +#ifndef MIN_VERSION_deepseq +#define MIN_VERSION_deepseq(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 4 || \ + (major1) == 1 && (major2) == 4 && (minor) <= 4) +#endif /* MIN_VERSION_deepseq */ +/* package filepath-1.4.2.1 */ +#ifndef VERSION_filepath +#define VERSION_filepath "1.4.2.1" +#endif /* VERSION_filepath */ +#ifndef MIN_VERSION_filepath +#define MIN_VERSION_filepath(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 4 || \ + (major1) == 1 && (major2) == 4 && (minor) <= 2) +#endif /* MIN_VERSION_filepath */ +/* package process-1.6.13.2 */ +#ifndef VERSION_process +#define VERSION_process "1.6.13.2" +#endif /* VERSION_process */ +#ifndef MIN_VERSION_process +#define MIN_VERSION_process(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 6 || \ + (major1) == 1 && (major2) == 6 && (minor) <= 13) +#endif /* MIN_VERSION_process */ +/* package split-0.2.3.4 */ +#ifndef VERSION_split +#define VERSION_split "0.2.3.4" +#endif /* VERSION_split */ +#ifndef MIN_VERSION_split +#define MIN_VERSION_split(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 2 || \ + (major1) == 0 && (major2) == 2 && (minor) <= 3) +#endif /* MIN_VERSION_split */ +/* package temporary-1.3 */ +#ifndef VERSION_temporary +#define VERSION_temporary "1.3" +#endif /* VERSION_temporary */ +#ifndef MIN_VERSION_temporary +#define MIN_VERSION_temporary(major1,major2,minor) (\ + (major1) < 1 || \ + (major1) == 1 && (major2) < 3 || \ + (major1) == 1 && (major2) == 3 && (minor) <= 0) +#endif /* MIN_VERSION_temporary */ +/* package which-0.2.0.1 */ +#ifndef VERSION_which +#define VERSION_which "0.2.0.1" +#endif /* VERSION_which */ +#ifndef MIN_VERSION_which +#define MIN_VERSION_which(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 2 || \ + (major1) == 0 && (major2) == 2 && (minor) <= 0) +#endif /* MIN_VERSION_which */ + +/* tool gcc-10.3.0 */ +#ifndef TOOL_VERSION_gcc +#define TOOL_VERSION_gcc "10.3.0" +#endif /* TOOL_VERSION_gcc */ +#ifndef MIN_TOOL_VERSION_gcc +#define MIN_TOOL_VERSION_gcc(major1,major2,minor) (\ + (major1) < 10 || \ + (major1) == 10 && (major2) < 3 || \ + (major1) == 10 && (major2) == 3 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_gcc */ +/* tool ghc-8.10.7 */ +#ifndef TOOL_VERSION_ghc +#define TOOL_VERSION_ghc "8.10.7" +#endif /* TOOL_VERSION_ghc */ +#ifndef MIN_TOOL_VERSION_ghc +#define MIN_TOOL_VERSION_ghc(major1,major2,minor) (\ + (major1) < 8 || \ + (major1) == 8 && (major2) < 10 || \ + (major1) == 8 && (major2) == 10 && (minor) <= 7) +#endif /* MIN_TOOL_VERSION_ghc */ +/* tool ghc-pkg-8.10.7 */ +#ifndef TOOL_VERSION_ghc_pkg +#define TOOL_VERSION_ghc_pkg "8.10.7" +#endif /* TOOL_VERSION_ghc_pkg */ +#ifndef MIN_TOOL_VERSION_ghc_pkg +#define MIN_TOOL_VERSION_ghc_pkg(major1,major2,minor) (\ + (major1) < 8 || \ + (major1) == 8 && (major2) < 10 || \ + (major1) == 8 && (major2) == 10 && (minor) <= 7) +#endif /* MIN_TOOL_VERSION_ghc_pkg */ +/* tool haddock-2.24.2 */ +#ifndef TOOL_VERSION_haddock +#define TOOL_VERSION_haddock "2.24.2" +#endif /* TOOL_VERSION_haddock */ +#ifndef MIN_TOOL_VERSION_haddock +#define MIN_TOOL_VERSION_haddock(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 24 || \ + (major1) == 2 && (major2) == 24 && (minor) <= 2) +#endif /* MIN_TOOL_VERSION_haddock */ +/* tool hpc-0.68 */ +#ifndef TOOL_VERSION_hpc +#define TOOL_VERSION_hpc "0.68" +#endif /* TOOL_VERSION_hpc */ +#ifndef MIN_TOOL_VERSION_hpc +#define MIN_TOOL_VERSION_hpc(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 68 || \ + (major1) == 0 && (major2) == 68 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_hpc */ +/* tool hsc2hs-0.68.7 */ +#ifndef TOOL_VERSION_hsc2hs +#define TOOL_VERSION_hsc2hs "0.68.7" +#endif /* TOOL_VERSION_hsc2hs */ +#ifndef MIN_TOOL_VERSION_hsc2hs +#define MIN_TOOL_VERSION_hsc2hs(major1,major2,minor) (\ + (major1) < 0 || \ + (major1) == 0 && (major2) < 68 || \ + (major1) == 0 && (major2) == 68 && (minor) <= 7) +#endif /* MIN_TOOL_VERSION_hsc2hs */ +/* tool runghc-8.10.7 */ +#ifndef TOOL_VERSION_runghc +#define TOOL_VERSION_runghc "8.10.7" +#endif /* TOOL_VERSION_runghc */ +#ifndef MIN_TOOL_VERSION_runghc +#define MIN_TOOL_VERSION_runghc(major1,major2,minor) (\ + (major1) < 8 || \ + (major1) == 8 && (major2) < 10 || \ + (major1) == 8 && (major2) == 10 && (minor) <= 7) +#endif /* MIN_TOOL_VERSION_runghc */ +/* tool strip-2.35 */ +#ifndef TOOL_VERSION_strip +#define TOOL_VERSION_strip "2.35" +#endif /* TOOL_VERSION_strip */ +#ifndef MIN_TOOL_VERSION_strip +#define MIN_TOOL_VERSION_strip(major1,major2,minor) (\ + (major1) < 2 || \ + (major1) == 2 && (major2) < 35 || \ + (major1) == 2 && (major2) == 35 && (minor) <= 0) +#endif /* MIN_TOOL_VERSION_strip */ + +#ifndef CURRENT_PACKAGE_KEY +#define CURRENT_PACKAGE_KEY "matplotlib-0.7.7-inplace" +#endif /* CURRENT_packageKey */ +#ifndef CURRENT_COMPONENT_ID +#define CURRENT_COMPONENT_ID "matplotlib-0.7.7-inplace" +#endif /* CURRENT_COMPONENT_ID */ +#ifndef CURRENT_PACKAGE_VERSION +#define CURRENT_PACKAGE_VERSION "0.7.7" +#endif /* CURRENT_PACKAGE_VERSION */ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/libHSmatplotlib-0.7.7-inplace.a b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/libHSmatplotlib-0.7.7-inplace.a new file mode 100644 index 0000000..0125eb6 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/build/libHSmatplotlib-0.7.7-inplace.a differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/cache/config b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/cache/config new file mode 100644 index 0000000..95ec9f4 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/cache/config differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/package.conf.inplace/package.cache b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/package.conf.inplace/package.cache new file mode 100644 index 0000000..b3cae5c Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/package.conf.inplace/package.cache differ diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/package.conf.inplace/package.cache.lock b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/package.conf.inplace/package.cache.lock new file mode 100644 index 0000000..e69de29 diff --git a/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/setup-config b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/setup-config new file mode 100644 index 0000000..1793e23 Binary files /dev/null and b/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/setup-config differ diff --git a/dist-newstyle/cache/compiler b/dist-newstyle/cache/compiler new file mode 100644 index 0000000..d04c009 Binary files /dev/null and b/dist-newstyle/cache/compiler differ diff --git a/dist-newstyle/cache/config b/dist-newstyle/cache/config new file mode 100644 index 0000000..9a0657c Binary files /dev/null and b/dist-newstyle/cache/config differ diff --git a/dist-newstyle/cache/elaborated-plan b/dist-newstyle/cache/elaborated-plan new file mode 100644 index 0000000..5f9295c Binary files /dev/null and b/dist-newstyle/cache/elaborated-plan differ diff --git a/dist-newstyle/cache/improved-plan b/dist-newstyle/cache/improved-plan new file mode 100644 index 0000000..d236071 Binary files /dev/null and b/dist-newstyle/cache/improved-plan differ diff --git a/dist-newstyle/cache/plan.json b/dist-newstyle/cache/plan.json new file mode 100644 index 0000000..8db45c5 --- /dev/null +++ b/dist-newstyle/cache/plan.json @@ -0,0 +1 @@ +{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-8.10.7","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"StateVar-1.2.2-E5VfLD39xuSBKKtL6sMcfd","pkg-name":"StateVar","pkg-version":"1.2.2","depends":["base-4.14.3.0","stm-2.5.0.1","transformers-0.5.6.2"]},{"type":"pre-existing","id":"ad-4.4.1-2RUuFkTdJcyIMEcIk6YGUe","pkg-name":"ad","pkg-version":"4.4.1","depends":["array-0.5.4.0","base-4.14.3.0","comonad-5.0.8-5dt3tAJXjfeGsJlfE2CL4V","containers-0.6.5.1","data-reify-0.6.3-DAQcFRs1nWEQkb6O2DMc3","erf-2.0.0.0-DD1kLu61QE55X5C6ZnT9v","free-5.1.7-HoevyB9ZW7xKp6OpuEYdJs","nats-1.1.2-1IJUekZt6ps5IWVCKMBPeK","reflection-2.1.6-7DCVA0EEOaTENCR0KjKjT","semigroups-0.19.2-B42pS9MLVR4146tbQn2OdN","transformers-0.5.6.2"]},{"type":"pre-existing","id":"aeson-1.5.6.0-BJDOUZRCk2WG96msIm3dEW","pkg-name":"aeson","pkg-version":"1.5.6.0","depends":["attoparsec-0.13.2.5-2Y2uFe9qofi7P2GNaHA8y5","base-4.14.3.0","base-compat-batteries-0.11.2-6XPNab05CaoAYoVn38M9WV","bytestring-0.10.12.0","containers-0.6.5.1","data-fix-0.3.2-K9dh4mQxQtrALkmMxoECvg","deepseq-1.4.4.0","dlist-1.0-DfSJiQK14jl1NJ1DncWHr2","ghc-prim-0.6.1","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","primitive-0.7.3.0-HMedJdQUTCQ79SiIUfisnA","scientific-0.3.7.0-efZQihtFc48ez8vnBQBEb","strict-0.4.0.1-4jx2GmpNCFrDydLtYRZzS8","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","template-haskell-2.16.0.0","text-1.2.4.1","th-abstraction-0.4.3.0-FMje8SMcvo6Ej3bhfOvFnc","these-1.1.1.1-Adr05XActY1HuAHXZ1V7AI","time-1.9.3","time-compat-1.9.5-DqqQUXTR6J7AfB7h4em8kD","unordered-containers-0.2.14.0-8OGlGG27g8sAP0xnspajqs","uuid-types-1.0.5-FOZByoo5PekHOJ1FK4WLbY","vector-0.12.3.1-GuyXuhm5vkg2DJyR57RlvI"]},{"type":"pre-existing","id":"ansi-terminal-0.11-9jIHjq4Fo5NCYjpO7qtA3g","pkg-name":"ansi-terminal","pkg-version":"0.11","depends":["base-4.14.3.0","colour-2.3.6-2cl6zeh1tuv4LM4jVThjAx"]},{"type":"pre-existing","id":"ansi-wl-pprint-0.6.9-C805La7BvHdB53XO8GGzbO","pkg-name":"ansi-wl-pprint","pkg-version":"0.6.9","depends":["ansi-terminal-0.11-9jIHjq4Fo5NCYjpO7qtA3g","base-4.14.3.0"]},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"assoc-1.0.2-GlyaTmxFfiJJPg0w6hhqN0","pkg-name":"assoc","pkg-version":"1.0.2","depends":["base-4.14.3.0","bifunctors-5.5.11-DWzWiPwIh306efRnnL9ZYO","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2"]},{"type":"pre-existing","id":"async-2.2.4-LKRgh7sYqdW6DtVnwO4xUI","pkg-name":"async","pkg-version":"2.2.4","depends":["base-4.14.3.0","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","stm-2.5.0.1"]},{"type":"pre-existing","id":"attoparsec-0.13.2.5-2Y2uFe9qofi7P2GNaHA8y5","pkg-name":"attoparsec","pkg-version":"0.13.2.5","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","ghc-prim-0.6.1","scientific-0.3.7.0-efZQihtFc48ez8vnBQBEb","text-1.2.4.1","transformers-0.5.6.2"]},{"type":"pre-existing","id":"base-4.14.3.0","pkg-name":"base","pkg-version":"4.14.3.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"base-compat-0.11.2-64avUlpGAIHCFD33W605el","pkg-name":"base-compat","pkg-version":"0.11.2","depends":["base-4.14.3.0","unix-2.7.2.2"]},{"type":"pre-existing","id":"base-compat-batteries-0.11.2-6XPNab05CaoAYoVn38M9WV","pkg-name":"base-compat-batteries","pkg-version":"0.11.2","depends":["base-4.14.3.0","base-compat-0.11.2-64avUlpGAIHCFD33W605el"]},{"type":"pre-existing","id":"base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","pkg-name":"base-orphans","pkg-version":"0.8.6","depends":["base-4.14.3.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"bifunctors-5.5.11-DWzWiPwIh306efRnnL9ZYO","pkg-name":"bifunctors","pkg-version":"5.5.11","depends":["base-4.14.3.0","base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","comonad-5.0.8-5dt3tAJXjfeGsJlfE2CL4V","containers-0.6.5.1","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","template-haskell-2.16.0.0","th-abstraction-0.4.3.0-FMje8SMcvo6Ej3bhfOvFnc","transformers-0.5.6.2"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"pre-existing","id":"call-stack-0.3.0-38oqmL2ryft55CJ2Shs3ik","pkg-name":"call-stack","pkg-version":"0.3.0","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"clock-0.8.2-GH6X1Ih1DWnHETeO6oaO4k","pkg-name":"clock","pkg-version":"0.8.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"colour-2.3.6-2cl6zeh1tuv4LM4jVThjAx","pkg-name":"colour","pkg-version":"2.3.6","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"comonad-5.0.8-5dt3tAJXjfeGsJlfE2CL4V","pkg-name":"comonad","pkg-version":"5.0.8","depends":["base-4.14.3.0","containers-0.6.5.1","distributive-0.6.2.1-8vKuPq8TwBiKV6p9fr235h","indexed-traversable-0.1.2-Eo535BQju5EJMNNLLeinJ3","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","transformers-0.5.6.2","transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p"]},{"type":"configured","id":"constraints-0.13.4-b18d809a67229104fc4a13857d379b5efaeca5c09c3a88cd595ff0c66181f890","pkg-name":"constraints","pkg-version":"0.13.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2133e56e14e130a1a40b0737deeaf6859402279720210531723bc19b898c5544","pkg-src-sha256":"4186946df4b88c5d7cae3a42aa426f30fd5d249835ea1d290e139cebbf464434","depends":["base-4.14.3.0","binary-0.8.8.0","deepseq-1.4.4.0","ghc-prim-0.6.1","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","mtl-2.2.2","transformers-0.5.6.2","transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p","type-equality-1-ca617511541b581a40eb49ac065ab25e7da4943bbd8e1a8e1c7e4f227032c0d9"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"contravariant-1.5.5-2MQmXMLz5bRS9nNwqvWJW","pkg-name":"contravariant","pkg-version":"1.5.5","depends":["StateVar-1.2.2-E5VfLD39xuSBKKtL6sMcfd","base-4.14.3.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"data-fix-0.3.2-K9dh4mQxQtrALkmMxoECvg","pkg-name":"data-fix","pkg-version":"0.3.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn"]},{"type":"pre-existing","id":"data-reify-0.6.3-DAQcFRs1nWEQkb6O2DMc3","pkg-name":"data-reify","pkg-version":"0.6.3","depends":["base-4.14.3.0","containers-0.6.5.1","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","unordered-containers-0.2.14.0-8OGlGG27g8sAP0xnspajqs"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.3.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"pre-existing","id":"distributive-0.6.2.1-8vKuPq8TwBiKV6p9fr235h","pkg-name":"distributive","pkg-version":"0.6.2.1","depends":["base-4.14.3.0","base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","transformers-0.5.6.2"]},{"type":"pre-existing","id":"dlist-1.0-DfSJiQK14jl1NJ1DncWHr2","pkg-name":"dlist","pkg-version":"1.0","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"configured","id":"enclosed-exceptions-1.0.3-af1c6ed5a9ad454dc51fe69c207809b9a4c1ef21870f301e44d08183900ec827","pkg-name":"enclosed-exceptions","pkg-version":"1.0.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6d4e9b5156721ccfa62d3cdcbf13d8571773031050ec714cb55b841f0c183f6a","pkg-src-sha256":"af6d93f113ac92b89a32af1fed52f445f492afcc0be93980cbadc5698f94f0b9","depends":["base-4.14.3.0","deepseq-1.4.4.0","lifted-base-0.2.3.12-d3593dd7a9f750d9952adeb6e27ebd1d091d58e659d07612d319869a31543d16","monad-control-1.0.3.1-dfc1abe2ab7f19073cc7ee9c174779d164f1f63fd523fffecf89212e671e60ff","transformers-0.5.6.2","transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"erf-2.0.0.0-DD1kLu61QE55X5C6ZnT9v","pkg-name":"erf","pkg-version":"2.0.0.0","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"exceptions-0.10.4","pkg-name":"exceptions","pkg-version":"0.10.4","depends":["base-4.14.3.0","mtl-2.2.2","stm-2.5.0.1","template-haskell-2.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"free-5.1.7-HoevyB9ZW7xKp6OpuEYdJs","pkg-name":"free","pkg-version":"5.1.7","depends":["base-4.14.3.0","comonad-5.0.8-5dt3tAJXjfeGsJlfE2CL4V","containers-0.6.5.1","distributive-0.6.2.1-8vKuPq8TwBiKV6p9fr235h","exceptions-0.10.4","indexed-traversable-0.1.2-Eo535BQju5EJMNNLLeinJ3","mtl-2.2.2","profunctors-5.6.2-44hVofMeUMM9w4EdTM3D2Z","semigroupoids-5.3.6-8AJH5KR7bbsJXxKxyeuOQK","template-haskell-2.16.0.0","th-abstraction-0.4.3.0-FMje8SMcvo6Ej3bhfOvFnc","transformers-0.5.6.2","transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD"]},{"type":"pre-existing","id":"ghc-boot-th-8.10.7","pkg-name":"ghc-boot-th","pkg-version":"8.10.7","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"pre-existing","id":"hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","pkg-name":"hashable","pkg-version":"1.3.0.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"]},{"type":"pre-existing","id":"indexed-traversable-0.1.2-Eo535BQju5EJMNNLLeinJ3","pkg-name":"indexed-traversable","pkg-version":"0.1.2","depends":["array-0.5.4.0","base-4.14.3.0","containers-0.6.5.1","transformers-0.5.6.2"]},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"pre-existing","id":"integer-logarithms-1.0.3.1-xsL5hmMYGlG65gkrXlNN","pkg-name":"integer-logarithms","pkg-version":"1.0.3.1","depends":["array-0.5.4.0","base-4.14.3.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"lifted-async-0.10.2.2-17a2ad049d1b202603e7f01c12b8bcb5c2c529f4fe9ee99c7d539b5ba6454106","pkg-name":"lifted-async","pkg-version":"0.10.2.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7fa02000931faaee85723ada9bcb1c7773cfcea740113f62ea60c0bd84f9dfcf","pkg-src-sha256":"50e8a699c8c74f8b39cd0e1c8559d083062e9dac3d20afcacba36f30b3dba7de","depends":["async-2.2.4-LKRgh7sYqdW6DtVnwO4xUI","base-4.14.3.0","constraints-0.13.4-b18d809a67229104fc4a13857d379b5efaeca5c09c3a88cd595ff0c66181f890","lifted-base-0.2.3.12-d3593dd7a9f750d9952adeb6e27ebd1d091d58e659d07612d319869a31543d16","monad-control-1.0.3.1-dfc1abe2ab7f19073cc7ee9c174779d164f1f63fd523fffecf89212e671e60ff","transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"lifted-base-0.2.3.12-d3593dd7a9f750d9952adeb6e27ebd1d091d58e659d07612d319869a31543d16","pkg-name":"lifted-base","pkg-version":"0.2.3.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e94ad0692c9c5d85c373e508f23654f2da8ac8c3e475c2b65ffbc04fb165ad69","pkg-src-sha256":"c134a95f56750aae806e38957bb03c59627cda16034af9e00a02b699474317c5","depends":["base-4.14.3.0","monad-control-1.0.3.1-dfc1abe2ab7f19073cc7ee9c174779d164f1f63fd523fffecf89212e671e60ff","transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"matplotlib-0.7.7-inplace","pkg-name":"matplotlib","pkg-version":"0.7.7","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/lazylambda/code/Ace/makeMusic/deps/matplotlib-haskell/."},"dist-dir":"/home/lazylambda/code/Ace/makeMusic/deps/matplotlib-haskell/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7","depends":["aeson-1.5.6.0-BJDOUZRCk2WG96msIm3dEW","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","filepath-1.4.2.1","process-1.6.13.2","split-0.2.3.4-JqMwG9Gfu44GpIaiPrW9lA","temporary-1.3-FvN8Zh2ZED0GQUsf4cjl3m","which-0.2.0.1-b8c11bd511e22265ed77bc9f7a977bab861db71d00025113b3930ffb95cddc38"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"matplotlib-0.7.7-inplace-matplotlib-test","pkg-name":"matplotlib","pkg-version":"0.7.7","flags":{},"style":"local","pkg-src":{"type":"local","path":"/home/lazylambda/code/Ace/makeMusic/deps/matplotlib-haskell/."},"dist-dir":"/home/lazylambda/code/Ace/makeMusic/deps/matplotlib-haskell/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/t/matplotlib-test","depends":["ad-4.4.1-2RUuFkTdJcyIMEcIk6YGUe","base-4.14.3.0","bytestring-0.10.12.0","directory-1.3.6.0","matplotlib-0.7.7-inplace","process-1.6.13.2","random-1.2.0-4yTZ53A8d79AtqKspztz45","raw-strings-qq-1.1-2ynoAV4E9K64Fz0svmJspz","split-0.2.3.4-JqMwG9Gfu44GpIaiPrW9lA","tasty-1.4.2-8uNODzuO8iuERCqkmI6DdY","tasty-expected-failure-0.12.3-5wzWAkWPIcOCTcU30I9liy","tasty-golden-2.3.4-6b889H5Lgpz5GyZYJQQ9JY","tasty-hunit-0.10.0.3-7LGqFUvb8q5LYq7uuCTUBm","temporary-1.3-FvN8Zh2ZED0GQUsf4cjl3m","which-0.2.0.1-b8c11bd511e22265ed77bc9f7a977bab861db71d00025113b3930ffb95cddc38"],"exe-depends":[],"component-name":"test:matplotlib-test","bin-file":"/home/lazylambda/code/Ace/makeMusic/deps/matplotlib-haskell/dist-newstyle/build/x86_64-linux/ghc-8.10.7/matplotlib-0.7.7/t/matplotlib-test/build/matplotlib-test/matplotlib-test"},{"type":"configured","id":"monad-control-1.0.3.1-dfc1abe2ab7f19073cc7ee9c174779d164f1f63fd523fffecf89212e671e60ff","pkg-name":"monad-control","pkg-version":"1.0.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"2d657279839e1a760c86a69f00f0c36473ef6972d413ec0f83a40249c70e098e","pkg-src-sha256":"ae0baea04d99375ef788140367179994a7178d400a8ce0d9026846546772713c","depends":["base-4.14.3.0","stm-2.5.0.1","transformers-0.5.6.2","transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD","transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.3.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"nats-1.1.2-1IJUekZt6ps5IWVCKMBPeK","pkg-name":"nats","pkg-version":"1.1.2","depends":[]},{"type":"pre-existing","id":"optparse-applicative-0.16.1.0-9yAhNP7kPjCKR0vfR9SZ3Y","pkg-name":"optparse-applicative","pkg-version":"0.16.1.0","depends":["ansi-wl-pprint-0.6.9-C805La7BvHdB53XO8GGzbO","base-4.14.3.0","process-1.6.13.2","transformers-0.5.6.2","transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"pre-existing","id":"primitive-0.7.3.0-HMedJdQUTCQ79SiIUfisnA","pkg-name":"primitive","pkg-version":"0.7.3.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"pre-existing","id":"profunctors-5.6.2-44hVofMeUMM9w4EdTM3D2Z","pkg-name":"profunctors","pkg-version":"5.6.2","depends":["base-4.14.3.0","base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","bifunctors-5.5.11-DWzWiPwIh306efRnnL9ZYO","comonad-5.0.8-5dt3tAJXjfeGsJlfE2CL4V","contravariant-1.5.5-2MQmXMLz5bRS9nNwqvWJW","distributive-0.6.2.1-8vKuPq8TwBiKV6p9fr235h","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","transformers-0.5.6.2"]},{"type":"pre-existing","id":"random-1.2.0-4yTZ53A8d79AtqKspztz45","pkg-name":"random","pkg-version":"1.2.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.4-2Vk17ilFpJOHvYIcBN29Ar"]},{"type":"pre-existing","id":"raw-strings-qq-1.1-2ynoAV4E9K64Fz0svmJspz","pkg-name":"raw-strings-qq","pkg-version":"1.1","depends":["base-4.14.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"reflection-2.1.6-7DCVA0EEOaTENCR0KjKjT","pkg-name":"reflection","pkg-version":"2.1.6","depends":["base-4.14.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"pre-existing","id":"scientific-0.3.7.0-efZQihtFc48ez8vnBQBEb","pkg-name":"scientific","pkg-version":"0.3.7.0","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","integer-gmp-1.0.3.0","integer-logarithms-1.0.3.1-xsL5hmMYGlG65gkrXlNN","primitive-0.7.3.0-HMedJdQUTCQ79SiIUfisnA","template-haskell-2.16.0.0","text-1.2.4.1"]},{"type":"pre-existing","id":"semigroupoids-5.3.6-8AJH5KR7bbsJXxKxyeuOQK","pkg-name":"semigroupoids","pkg-version":"5.3.6","depends":["base-4.14.3.0","base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","bifunctors-5.5.11-DWzWiPwIh306efRnnL9ZYO","comonad-5.0.8-5dt3tAJXjfeGsJlfE2CL4V","containers-0.6.5.1","contravariant-1.5.5-2MQmXMLz5bRS9nNwqvWJW","distributive-0.6.2.1-8vKuPq8TwBiKV6p9fr235h","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","template-haskell-2.16.0.0","transformers-0.5.6.2","transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p","unordered-containers-0.2.14.0-8OGlGG27g8sAP0xnspajqs"]},{"type":"pre-existing","id":"semigroups-0.19.2-B42pS9MLVR4146tbQn2OdN","pkg-name":"semigroups","pkg-version":"0.19.2","depends":["base-4.14.3.0"]},{"type":"configured","id":"shelly-1.9.0-91620d633b7691e99d37ea5387f1158c1be82708b044c1a39225a9437461579b","pkg-name":"shelly","pkg-version":"1.9.0","flags":{"build-examples":false,"lifted":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"17a2d43a17a4cf3d5920ae5b3fc6af258f6a19db0e33157329a06a13ba24ed49","pkg-src-sha256":"5eb5fd4fc105e218cef6cfa10971d299ad660324e6a6006b8cccc31edf39aace","depends":["async-2.2.4-LKRgh7sYqdW6DtVnwO4xUI","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","directory-1.3.6.0","enclosed-exceptions-1.0.3-af1c6ed5a9ad454dc51fe69c207809b9a4c1ef21870f301e44d08183900ec827","exceptions-0.10.4","filepath-1.4.2.1","lifted-async-0.10.2.2-17a2ad049d1b202603e7f01c12b8bcb5c2c529f4fe9ee99c7d539b5ba6454106","lifted-base-0.2.3.12-d3593dd7a9f750d9952adeb6e27ebd1d091d58e659d07612d319869a31543d16","monad-control-1.0.3.1-dfc1abe2ab7f19073cc7ee9c174779d164f1f63fd523fffecf89212e671e60ff","mtl-2.2.2","process-1.6.13.2","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD","unix-2.7.2.2","unix-compat-0.5.3-D1LyuF0ERrJ1L2QOYP3sys"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"split-0.2.3.4-JqMwG9Gfu44GpIaiPrW9lA","pkg-name":"split","pkg-version":"0.2.3.4","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"splitmix-0.1.0.4-2Vk17ilFpJOHvYIcBN29Ar","pkg-name":"splitmix","pkg-version":"0.1.0.4","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"stm-2.5.0.1","pkg-name":"stm","pkg-version":"2.5.0.1","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"strict-0.4.0.1-4jx2GmpNCFrDydLtYRZzS8","pkg-name":"strict","pkg-version":"0.4.0.1","depends":["assoc-1.0.2-GlyaTmxFfiJJPg0w6hhqN0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","text-1.2.4.1","these-1.1.1.1-Adr05XActY1HuAHXZ1V7AI","transformers-0.5.6.2"]},{"type":"pre-existing","id":"tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","pkg-name":"tagged","pkg-version":"0.8.6.1","depends":["base-4.14.3.0","deepseq-1.4.4.0","template-haskell-2.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"tasty-1.4.2-8uNODzuO8iuERCqkmI6DdY","pkg-name":"tasty","pkg-version":"1.4.2","depends":["ansi-terminal-0.11-9jIHjq4Fo5NCYjpO7qtA3g","base-4.14.3.0","clock-0.8.2-GH6X1Ih1DWnHETeO6oaO4k","containers-0.6.5.1","mtl-2.2.2","optparse-applicative-0.16.1.0-9yAhNP7kPjCKR0vfR9SZ3Y","stm-2.5.0.1","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","unbounded-delays-0.1.1.1-9ugfrScBCwWAr0bImAb2NC","unix-2.7.2.2","wcwidth-0.0.2-4Z2p5jpovWj1Tz2FNCpK2a"]},{"type":"pre-existing","id":"tasty-expected-failure-0.12.3-5wzWAkWPIcOCTcU30I9liy","pkg-name":"tasty-expected-failure","pkg-version":"0.12.3","depends":["base-4.14.3.0","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","tasty-1.4.2-8uNODzuO8iuERCqkmI6DdY","unbounded-delays-0.1.1.1-9ugfrScBCwWAr0bImAb2NC"]},{"type":"pre-existing","id":"tasty-golden-2.3.4-6b889H5Lgpz5GyZYJQQ9JY","pkg-name":"tasty-golden","pkg-version":"2.3.4","depends":["async-2.2.4-LKRgh7sYqdW6DtVnwO4xUI","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","optparse-applicative-0.16.1.0-9yAhNP7kPjCKR0vfR9SZ3Y","process-1.6.13.2","tagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2","tasty-1.4.2-8uNODzuO8iuERCqkmI6DdY","temporary-1.3-FvN8Zh2ZED0GQUsf4cjl3m","text-1.2.4.1","unix-compat-0.5.3-D1LyuF0ERrJ1L2QOYP3sys"]},{"type":"pre-existing","id":"tasty-hunit-0.10.0.3-7LGqFUvb8q5LYq7uuCTUBm","pkg-name":"tasty-hunit","pkg-version":"0.10.0.3","depends":["base-4.14.3.0","call-stack-0.3.0-38oqmL2ryft55CJ2Shs3ik","tasty-1.4.2-8uNODzuO8iuERCqkmI6DdY"]},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.3.0","ghc-boot-th-8.10.7","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"temporary-1.3-FvN8Zh2ZED0GQUsf4cjl3m","pkg-name":"temporary","pkg-version":"1.3","depends":["base-4.14.3.0","directory-1.3.6.0","exceptions-0.10.4","filepath-1.4.2.1","random-1.2.0-4yTZ53A8d79AtqKspztz45","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"th-abstraction-0.4.3.0-FMje8SMcvo6Ej3bhfOvFnc","pkg-name":"th-abstraction","pkg-version":"0.4.3.0","depends":["base-4.14.3.0","containers-0.6.5.1","ghc-prim-0.6.1","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"these-1.1.1.1-Adr05XActY1HuAHXZ1V7AI","pkg-name":"these","pkg-version":"1.1.1.1","depends":["assoc-1.0.2-GlyaTmxFfiJJPg0w6hhqN0","base-4.14.3.0","binary-0.8.8.0","deepseq-1.4.4.0","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"time-compat-1.9.5-DqqQUXTR6J7AfB7h4em8kD","pkg-name":"time-compat","pkg-version":"1.9.5","depends":["base-4.14.3.0","base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","deepseq-1.4.4.0","time-1.9.3"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"transformers-base-0.4.6-4bCgL0sxEpRDuPxN595WuD","pkg-name":"transformers-base","pkg-version":"0.4.6","depends":["base-4.14.3.0","base-orphans-0.8.6-1yOURaLIRnC4PmY0fWYyEK","stm-2.5.0.1","transformers-0.5.6.2","transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p"]},{"type":"pre-existing","id":"transformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p","pkg-name":"transformers-compat","pkg-version":"0.6.6","depends":["base-4.14.3.0","ghc-prim-0.6.1","transformers-0.5.6.2"]},{"type":"configured","id":"type-equality-1-ca617511541b581a40eb49ac065ab25e7da4943bbd8e1a8e1c7e4f227032c0d9","pkg-name":"type-equality","pkg-version":"1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"7cd952c3ebf0da36ee05544e6209a850b22205fa8b749e17f4bacc5a8fe15269","pkg-src-sha256":"4728b502a211454ef682a10d7a3e817c22d06ba509df114bb267ef9d43a08ce8","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"unbounded-delays-0.1.1.1-9ugfrScBCwWAr0bImAb2NC","pkg-name":"unbounded-delays","pkg-version":"0.1.1.1","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.3.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"pre-existing","id":"unix-compat-0.5.3-D1LyuF0ERrJ1L2QOYP3sys","pkg-name":"unix-compat","pkg-version":"0.5.3","depends":["base-4.14.3.0","unix-2.7.2.2"]},{"type":"pre-existing","id":"unordered-containers-0.2.14.0-8OGlGG27g8sAP0xnspajqs","pkg-name":"unordered-containers","pkg-version":"0.2.14.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn"]},{"type":"pre-existing","id":"uuid-types-1.0.5-FOZByoo5PekHOJ1FK4WLbY","pkg-name":"uuid-types","pkg-version":"1.0.5","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","hashable-1.3.0.0-IQZ21dD8mfUBe5sFJPVMZn","random-1.2.0-4yTZ53A8d79AtqKspztz45","template-haskell-2.16.0.0","text-1.2.4.1"]},{"type":"pre-existing","id":"vector-0.12.3.1-GuyXuhm5vkg2DJyR57RlvI","pkg-name":"vector","pkg-version":"0.12.3.1","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","primitive-0.7.3.0-HMedJdQUTCQ79SiIUfisnA"]},{"type":"pre-existing","id":"wcwidth-0.0.2-4Z2p5jpovWj1Tz2FNCpK2a","pkg-name":"wcwidth","pkg-version":"0.0.2","depends":["base-4.14.3.0","containers-0.6.5.1"]},{"type":"configured","id":"which-0.2.0.1-b8c11bd511e22265ed77bc9f7a977bab861db71d00025113b3930ffb95cddc38","pkg-name":"which","pkg-version":"0.2.0.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"807c087f3cd345133fb79f7fb54e630cbff210f74018f1dd219d497076221108","pkg-src-sha256":"cadb568d01a2f7b3a5c9b6850d5dfaeba6311cb2eb50d0dde86e00d08f0a4171","depends":["base-4.14.3.0","shelly-1.9.0-91620d633b7691e99d37ea5387f1158c1be82708b044c1a39225a9437461579b","template-haskell-2.16.0.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file diff --git a/dist-newstyle/cache/solver-plan b/dist-newstyle/cache/solver-plan new file mode 100644 index 0000000..9672a10 Binary files /dev/null and b/dist-newstyle/cache/solver-plan differ diff --git a/dist-newstyle/cache/source-hashes b/dist-newstyle/cache/source-hashes new file mode 100644 index 0000000..af8a6fd Binary files /dev/null and b/dist-newstyle/cache/source-hashes differ diff --git a/dist-newstyle/cache/up-to-date b/dist-newstyle/cache/up-to-date new file mode 100644 index 0000000..68c220d Binary files /dev/null and b/dist-newstyle/cache/up-to-date differ diff --git a/dist-newstyle/packagedb/ghc-8.10.7/package.cache b/dist-newstyle/packagedb/ghc-8.10.7/package.cache new file mode 100644 index 0000000..b3cae5c Binary files /dev/null and b/dist-newstyle/packagedb/ghc-8.10.7/package.cache differ diff --git a/dist-newstyle/packagedb/ghc-8.10.7/package.cache.lock b/dist-newstyle/packagedb/ghc-8.10.7/package.cache.lock new file mode 100644 index 0000000..e69de29 diff --git a/matplotlib.cabal b/matplotlib.cabal index 2e9670e..5ab6c5b 100644 --- a/matplotlib.cabal +++ b/matplotlib.cabal @@ -32,6 +32,7 @@ library , temporary , containers , split + , which , filepath default-language: Haskell2010 @@ -53,6 +54,7 @@ test-suite matplotlib-test , raw-strings-qq , split , ad + , which ghc-options: -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 diff --git a/shell.nix b/shell.nix index 43b0f36..43214c9 100644 --- a/shell.nix +++ b/shell.nix @@ -1,13 +1,16 @@ -(import ./default.nix).shellFor { - tools = { - cabal = "latest"; - hpack = "latest"; - hlint = "latest"; - ormolu = "latest"; - haskell-language-server = "latest"; - }; +{ nixpkgs ? import {} +, compiler ? "default" +, doBenchmark ? false }: - # Prevents cabal from choosing alternate plans, so that - # *all* dependencies are provided by Nix. - exactDeps = true; -} +let + inherit (nixpkgs) pkgs; + haskellPackages = if compiler == "default" + then pkgs.haskellPackages + else pkgs.haskell.packages.${compiler}; + + variant = if doBenchmark then pkgs.haskell.lib.doBenchmark else pkgs.lib.id; + matplotlib = import ./default.nix; + drv = variant (haskellPackages.callPackage matplotlib {}); + +in + if pkgs.lib.inNixShell then drv.env else drv diff --git a/src/Graphics/Matplotlib/Internal.hs b/src/Graphics/Matplotlib/Internal.hs index 83ebf06..8278a44 100644 --- a/src/Graphics/Matplotlib/Internal.hs +++ b/src/Graphics/Matplotlib/Internal.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE FlexibleInstances, ScopedTypeVariables, FlexibleContexts, ExtendedDefaultRules, ExistentialQuantification, CPP #-} +{-# LANGUAGE FlexibleInstances, ScopedTypeVariables, FlexibleContexts, ExtendedDefaultRules, ExistentialQuantification, CPP, TemplateHaskell #-} -- | -- Internal representations of the Matplotlib data. These are not API-stable -- and may change. You can easily extend the provided bindings without relying @@ -10,6 +10,7 @@ import Data.Aeson import Control.Monad import Control.DeepSeq import System.IO +import System.Which import qualified Data.ByteString.Lazy as B import Data.List import Control.Exception @@ -139,7 +140,7 @@ m # v | S.null $ mpRest m = -- rendered as 'str'. data S = S String deriving (Show, Eq, Ord) - + -- | A string to be rendered in python as a raw string. In other words it is -- rendered as r'str'. data R = R String @@ -316,6 +317,9 @@ bindDefaultFn os os' = merge ps' ps ++ (nub $ ks' ++ ks) -- $ Python operations +python' :: String +python' = $(staticWhich "python3") + -- | Run python given a code string. python :: Foldable t => t String -> IO (Either String String) python codeStr = @@ -323,7 +327,7 @@ python codeStr = (\codeFile codeHandle -> do forM_ codeStr (hPutStrLn codeHandle) hClose codeHandle - Right <$> readProcess "env" ["python3", codeFile] "")) + Right <$> readProcess python' [codeFile] "")) (\e -> return $ Left $ show (e :: IOException)) pyBackend backend = "matplotlib.use('" ++ backend ++ "')"