04 January 2016

hspec

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: ghc-7.8.4 (see earlier post)

Installation of hspec-2.2.1.

http://slackbuilds.org/repository/14.1/haskell/
https://hackage.haskell.org/packages/

SlackBuilds for hspec-discover and setenv are located in the sidebar.

bash-4.2# installpkg haskell-HUnit-1.2.5.2-i486-2_SBo.tgz \
> haskell-ansi-terminal-0.6.2.1-i486-1_SBo.tgz \
> haskell-extensible-exceptions-0.1.1.4-i486-1_SBo.tgz \
> haskell-mtl-2.1.3.1-i486-1_SBo.tgz \
> haskell-primitive-0.5.4.0-i486-1_SBo.tgz \
> haskell-random-1.1-i486-1_SBo.tgz \
> haskell-setenv-0.1.1.3-i486-1_SBo.tgz \
> haskell-stm-2.4.4-i486-1_SBo.tgz \
> hspec-discover-2.2.1-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for hspec-expectations is located in the sidebar.

bash-4.2# installpkg haskell-async-2.0.2-i486-1_SBo.tgz \
> haskell-hspec-expectations-0.7.2-i486-1_SBo.tgz \
> haskell-tf-random-0.4-i486-1_SBo.tgz

...

bash-4.2#

bash-4.2# installpkg haskell-QuickCheck-2.7.6-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for quickcheck-io is located in the sidebar.

bash-4.2# haskell-quickcheck-io-0.1.2-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for hspec-core is located in the sidebar.


bash-4.2# installpkg haskell-hspec-core-2.2.1-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for hspec is located in the sidebar.


bash-4.2# installpkg haskell-hspec-2.2.1-i486-1_SBo.tgz

...

bash-4.2#

pipes-shell

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: ghc-7.8.4 (see earlier post)

Installation of pipes-shell-0.1.4.

http://slackbuilds.org/repository/14.1/haskell/
https://hackage.haskell.org/packages/

SlackBuilds for base-orphans, prelude-extras and
tagged are located in the sidebar.

bash-4.2# installpkg haskell-base-orphans-0.4.5-i486-1_SBo.tgz \
> haskell-mmorph-1.0.4-i486-1_SBo.tgz \
> haskell-mtl-2.1.3.1-i486-1_SBo.tgz \
> haskell-prelude-extras-0.4.0.2-i486-1_SBo.tgz \
> haskell-stm-2.4.4-i486-1_SBo.tgz \
> haskell-tagged-0.8.2-i486-1_SBo.tgz \
> haskell-text-1.2.0.3-i486-1_SBo.tgz

...

bash-4.2#

Upgrade the SlackBuilds.org StateVar SlackBuild to version 1.1.0.2.

Downgrade the SlackBuilds.org transformers-compat SlackBuild
to version 0.4.0.3, and modify it as follows.

-  --docdir=/usr/doc/$PRGNAM-$VERSION \
-  --flags="three"

+  --docdir=/usr/doc/$PRGNAM-$VERSION

SlackBuilds for pipes and stm-chans are located in the sidebar.

bash-4.2# installpkg haskell-StateVar-1.1.0.2-i486-1_SBo.tgz \
> haskell-async-2.0.2-i486-1_SBo.tgz \
> haskell-exceptions-0.6.1-i486-1_SBo.tgz \
> haskell-hashable-1.2.3.1-i486-1_SBo.tgz \
> haskell-transformers-compat-0.4.0.3-i486-1_SBo.tgz \
> haskell-pipes-4.1.7-i486-1_SBo.tgz \
> haskell-stm-chans-3.0.0.4-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for pipes-parse is located in the sidebar.

bash-4.2# installpkg haskell-nats-1-i486-1_SBo.tgz \
> haskell-pipes-parse-3.0.3-i486-1_SBo.tgz \
> haskell-unordered-containers-0.2.5.1-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for distributive is located in the sidebar.

bash-4.2# installpkg haskell-distributive-0.4.4-i486-1_SBo.tgz \
> haskell-semigroups-0.16.1-i486-1_SBo.tgz \
> haskell-transformers-base-0.4.4-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for bifunctors and pipes-safe are located in
the sidebar.

bash-4.2# installpkg haskell-bifunctors-5.1-i486-1_SBo.tgz \
> haskell-monad-control-1.0.0.4-i486-1_SBo.tgz \
> haskell-pipes-safe-2.2.3-i486-1_SBo.tgz \
> haskell-void-0.7-i486-1_SBo.tgz

...

bash-4.2#

A Slackbuild for contravariant is located in the sidebar.

bash-4.2# installpkg haskell-contravariant-1.3.3-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for comonad is located in the sidebar.

bash-4.2# installpkg haskell-comonad-4.2.7.2-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for semigroupoids is located in the sidebar.

bash-4.2# installpkg haskell-semigroupoids-5.0.0.4-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for profunctors is located in the sidebar.

bash-4.2# installpkg haskell-profunctors-5.1.2-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for free is located in the sidebar.

bash-4.2# installpkg haskell-free-4.12.1-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for pipes-group is located in the sidebar.

bash-4.2# installpkg haskell-pipes-group-1.0.3-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for pipes-bytestring is located in the sidebar.

bash-4.2# installpkg haskell-pipes-bytestring-2.1.1-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for pipes-shell is located in the sidebar.

bash-4.2# installpkg haskell-pipes-shell-0.1.4-i486-1_SBo.tgz

...

bash-4.2#

03 January 2016

Yi

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: ghc-7.8.4 (see earlier post)

Installation of yi-0.11.2.

http://slackbuilds.org/repository/14.1/haskell/
https://hackage.haskell.org/packages/

The emacs keymap C-x C-f echo buffer expansion using the vty
frontend rather than GNU Emacs' ~/ I find distracting. This isn't
an issue with the pango frontend as the buffer isn't visable unless
accessed via keyboard shortcuts. I therefore optionally install vty
and the yi packages themselves in the user's home directory.

SlackBuilds for base-orphans, cautious-filecharsetdetect-aeexecutable-path,
fingertreeio-storage, oo-prototypes, pointedlistpolyparsesafe, word-trie, and
xdg-basedir are located in the sidebar.

bash-4.2# installpkg haskell-HUnit-1.2.5.2-i486-2_SBo.tgz \
> haskell-base-orphans-0.4.5-i486-1_SBo.tgz
> haskell-cautious-file-1.0.2-i486-1_SBo.tgz \\
> haskell-charsetdetect-ae-1.1.0.1-i486-1_SBo.tgz \
> haskell-data-default-class-0.0.1-i486-1_SBo.tgz \
> haskell-dlist-0.7.1-i486-1_SBo.tgz \
> haskell-executable-path-0.0.3-i486-1_SBo.tgz \
> haskell-extensible-exceptions-0.1.1.4-i486-1_SBo.tgz \
> haskell-fingertree-0.1.1.0-i486-1_SBo.tgz \
> haskell-ghc-paths-0.1.0.9-i486-1_SBo.tgz \
> haskell-io-storage-0.3-i486-1_SBo.tgz \
> haskell-mtl-2.1.3.1-i486-1_SBo.tgz \
> haskell-oo-prototypes-0.1.0.0-i486-1_SBo.tgz \
> haskell-parallel-3.2.0.6-i486-1_SBo.tgz \
> haskell-pointedlist-0.6.1-i486-1_SBo.tgz \
> haskell-polyparse-1.11-i486-1_SBo.tgz \
> haskell-prelude-extras-0.4.0.2-i486-1_SBo.tgz \
> haskell-primitive-0.5.4.0-i486-1_SBo.tgz \
> haskell-random-1.1-i486-1_SBo.tgz \
> haskell-safe-0.3.9-i486-1_SBo.tgz \
> haskell-split-0.2.2-i486-1_SBo.tgz \
> haskell-stm-2.4.4-i486-1_SBo.tgz \
> haskell-tagged-0.8.2-i486-1_SBo.tgz \
> haskell-text-1.2.0.3-i486-1_SBo.tgz \
> haskell-unix-compat-0.4.1.4-i486-1_SBo.tgz \
> haskell-utf8-string-0.3.8-i486-1_SBo.tgz \
> haskell-word-trie-0.3.0-i486-1_SBo.tgz \
> haskell-xdg-basedir-0.2.2-i486-1_SBo.tgz

...

bash-4.2#

Upgrade the SlackBuilds.org StateVar SlackBuild to version 1.1.0.2.

Downgrade the SlackBuilds.org transformers-compat SlackBuild
to version 0.4.0.3, and modify it as follows.

-  --docdir=/usr/doc/$PRGNAM-$VERSION \
-  --flags="three"

+  --docdir=/usr/doc/$PRGNAM-$VERSION

SlackBuilds for cpphs, dyre, and reflection are
located in the sidebar.

bash-4.2# installpkg happy-1.19.4-i486-1_SBo.tgz \
> haskell-StateVar-1.1.0.2-i486-1_SBo.tgz \
> haskell-blaze-builder-0.3.3.4-i486-1_SBo.tgz \
> haskell-cpphs-1.19.3-i486-1_SBo.tgz \
> haskell-data-default-instances-base-0.0.1-i486-1_SBo.tgz \
> haskell-data-default-instances-containers-0.0.1-i486-1_SBo.tgz \
> haskell-data-default-instances-dlist-0.0.1-i486-1_SBo.tgz \
> haskell-data-default-instances-old-locale-0.0.1-i486-1_SBo.tgz \
> haskell-dyre-0.8.12-i486-1_SBo.tgz \
> haskell-exceptions-0.6.1-i486-1_SBo.tgz \
> haskell-hashable-1.2.3.1-i486-1_SBo.tgz \
> haskell-parsec-3.1.7-i486-1_SBo.tgz \
> haskell-reflection-2.1-i486-1_SBo.tgz \
> haskell-regex-base-0.93.2-i486-3_SBo.tgz \
> haskell-text-icu-0.7.0.1-i486-1_SBo.tgz \
> haskell-tf-random-0.4-i486-1_SBo.tgz \
> haskell-transformers-compat-0.4.0.3-i486-1_SBo.tgz \
> haskell-vector-0.10.12.2-i486-1_SBo.tgz

...

bash-4.2#

I've omitted Värri's convention of prefixing of
SlackBuilds for haskell-src-exts-1.17.1.

SlackBuilds for distributive, hint, regex-tdfa, and
haskell-src-exts are located in the sidebar.

bash-4.2# haskell-QuickCheck-2.7.6-i486-1_SBo.tgz \
> haskell-distributive-0.4.4-i486-1_SBo.tgz \
> haskell-data-default-0.5.3-i486-1_SBo.tgz \
> haskell-hashtables-1.2.1.0-i486-1_SBo.tgz \
> haskell-hint-0.4.2.3-i486-1_SBo.tgz \
> haskell-nats-1-i486-1_SBo.tgz \
> haskell-regex-posix-0.95.2-i486-1_SBo.tgz \
> haskell-regex-tdfa-1.2.1-i486-1_SBo.tgz \
> haskell-src-exts-1.17.1-i486-1_SBo.tgz \
> haskell-transformers-base-0.4.4-i486-1_SBo.tgz \
> haskell-unordered-containers-0.2.5.1-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for are dynamic-state, ghc-mtl, and
uniplate are located in the sidebar.

bash-4.2# installpkg alex-3.1.3-i486-1_SBo.tgz \
> haskell-dynamic-state-0.2.0.0-i486-1_SBo.tgz \
> haskell-ghc-mtl-1.2.1.0-i486-1_SBo.tgz \
> haskell-semigroups-0.16.1-i486-1_SBo.tgz \
> haskell-uniplate-1.6.12-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for gtk2hs-buildtoolsbifunctors, and derive
are located in the sidebar.

bash-4.2# installpkg gtk2hs-buildtools-0.13.0.5-i486-1_SBo.tgz \
> haskell-bifunctors-5.1-i486-1_SBo.tgz \
> haskell-derive-2.5.23-i486-1_SBo.tgz \
> haskell-void-0.7-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for cairo and contravariant are located in the sidebar.

bash-4.2# installpkg haskell-cairo-0.13.1.1-i486-1_SBo.tgz \
> haskell-contravariant-1.3.3-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for comonad and glib are located in the sidebar.

bash-4.2# installpkg haskell-comonad-4.2.7.2-i486-1_SBo.tgz \
> haskell-glib-0.13.2.2-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for gio and semigroupoids are located in the sidebar.

bash-4.2# installpkg haskell-gio-0.13.1.1-i486-1_SBo.tgz \
> haskell-semigroupoids-5.0.0.4-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for pango and profunctors are located in the sidebar.

bash-4.2# installpkg haskell-pango-0.13.1.1-i486-1_SBo.tgz \
> haskell-profunctors-5.1.2-i486-1_SBo.tgz

...

bash-4.2#

SlackBuilds for free and gtk are located in the sidebar.

bash-4.2# installpkg haskell-free-4.12.1-i486-1_SBo.tgz \
> haskell-gtk-0.13.9-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for adjunctions is located in the sidebar.

bash-4.2# installpkg haskell-adjunctions-4.2.2-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for kan-extensions is located in the sidebar.

bash-4.2# installpkg haskell-kan-extensions-4.2.3-i486-1_SBo.tgz

...

bash-4.2#

A SlackBuild for lens is located in the sidebar.

bash-4.2# installpkg haskell-lens-4.13-i486-1_SBo.tgz

...

bash-4.2# exit

sh-4.2$ ls
vty-5.3.1 yi-0.11.2 yi-language-0.2.0 yi-rope-0.7.0.1
sh-4.2$

sh-4.2$ cd yi-language-0.2.0
sh-4.2$ export LANG=en_US.UTF-8
sh-4.2$ runghc Setup configure --user
sh-4.2$ runghc Setup build
sh-4.2$ runghc Setup haddock
sh-4.2$ find -print0 | xargs -0 file | grep -e "shared object" | grep ELF \
> | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
sh-4.2$ runghc Setup install

sh-4.2$ cd ../yi-rope-0.7.0.1
sh-4.2$ runghc Setup configure --user
sh-4.2$ runghc Setup build
sh-4.2$ runghc Setup haddock
sh-4.2$ find -print0 | xargs -0 file | grep -e "shared object" | grep ELF \
> | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
sh-4.2$ runghc Setup install

vty (optional)
sh-4.2$ cd ../vty-5.3.1
sh-4.2$ runghc Setup configure --user
sh-4.2$ runghc Setup build
sh-4.2$ runghc Setup haddock
sh-4.2$ find -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
> | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
sh-4.2$ runghc Setup install

(with pango)
sh-4.2$ cd ../yi-0.11.2
sh-4.2$ runghc Setup configure -f-vty -fpango --user
sh-4.2$ runghc Setup build
sh-4.2$ runghc Setup haddock
sh-4.2$ find -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
> | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
sh-4.2$ runghc Setup install

(with vty)
sh-4.2$ cd ../yi-0.11.2
sh-4.2$ runghc Setup configure --user
sh-4.2$ runghc Setup build
sh-4.2$ runghc Setup haddock
sh-4.2$ find -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
> | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
sh-4.2$ runghc Setup install

sh-4.2$ cd $HOME
sh-4.2$ ln -s yi .cabal/bin/yi
sh-4.2$

For pango or vty frontends one can copy the yi.hs file to .config/yi/yi.hs and uncomment,
remove the "--" before, the desired Yi.Keymap and Yi.UI lines, and respectively for Emacs
or Vim, leave myConfig set as defaultEmacsConfig or substutite defaultVimConfig. Further
customisations in the file indicate setting font size and adding a tilde '~' in the left column
as typical for Vim..

sh-2.4$ cat .cabal/share/i386-linux-ghc-7-8.4/yi-0.11.2/example-configs/yi.hs
import Yi

-- Import the desired keymap "template":
-- import Yi.Keymap.Emacs (keymap)
-- import Yi.Keymap.Cua (keymap)
-- import Yi.Keymap.Vim (keymapSet)

-- Import the desired UI as needed.
-- Some are not complied in, so we import none here.

-- import Yi.UI.Vty (start)
-- import Yi.UI.Pango (start)

myConfig :: Config
myConfig = defaultEmacsConfig -- replace with defaultVimConfig or defaultCuaConfig

defaultUIConfig :: UIConfig
defaultUIConfig = configUI myConfig

-- Change the below to your needs, following the explanation in comments. See
-- module Yi.Config for more information on configuration. Other configuration
-- examples can be found in the examples directory. You can also use or copy
-- another user configuration, which can be found in modules Yi.Users.*

main :: IO ()
main = yi $ myConfig
  {

   -- Keymap Configuration
   defaultKm = defaultKm myConfig,

   -- UI Configuration
   -- Override the default UI as such:
   startFrontEnd = startFrontEnd myConfig,
                    -- Yi.UI.Vty.start -- for Vty
   -- (can be overridden at the command line)
   -- Options:
   configUI = defaultUIConfig
     {
       configFontSize = Nothing,
                        -- 'Just 10' for specifying the size.
       configTheme = configTheme defaultUIConfig,
                     -- darkBlueTheme  -- Change the color scheme here.

       configWindowFill = ' '
                          -- '~'    -- Typical for Vim
     }
  }
sh-4.2$ exit