This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "". The branch, master has been updated via d09d2770030f86662ef5ce7f8f12b3426eccb2f6 (commit) from cf8d8aa673e5b6453552595a7fbe8e3f640cedb2 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d09d2770030f86662ef5ce7f8f12b3426eccb2f6 Author: Justin M Wozniak <[email protected]> Date: Mon Jun 4 19:39:52 2012 -0500 Clean up Haskell installation tools ----------------------------------------------------------------------- Summary of changes: code/maint/hs/README.txt | 2 + code/maint/hs/setup-aesop | 46 ++++++++++++++++++++++ code/maint/hs/setup-cabal-local | 11 +++++ code/maint/hs/setup-hs-local | 79 +------------------------------------ code/maint/hs/setup-langc | 38 ------------------ code/src/aesop/parser/README | 25 ------------ code/src/aesop/parser/README.txt | 28 +++++++++++++ 7 files changed, 90 insertions(+), 139 deletions(-) create mode 100644 code/maint/hs/README.txt create mode 100644 code/maint/hs/setup-aesop create mode 100644 code/maint/hs/setup-cabal-local delete mode 100755 code/maint/hs/setup-langc delete mode 100644 code/src/aesop/parser/README create mode 100644 code/src/aesop/parser/README.txt Diff of changes: diff --git a/code/maint/hs/README.txt b/code/maint/hs/README.txt new file mode 100644 index 0000000..dd6200f --- /dev/null +++ b/code/maint/hs/README.txt @@ -0,0 +1,2 @@ + +See src/aesop/parser/README diff --git a/code/maint/hs/setup-aesop b/code/maint/hs/setup-aesop new file mode 100644 index 0000000..ebd57c8 --- /dev/null +++ b/code/maint/hs/setup-aesop @@ -0,0 +1,46 @@ +#!/bin/bash + +# SETUP-AESOP +# Downloads language-c +# Patches it with Aesop modifications, making package language-aesop +# Installs it with cabal + +MAINT_HS=$(echo $0|sed -e "s|^\(.*\)/[^/]*$|\1|") + +VERSION=0.4.2 + +pushd ${MAINT_HS} +wget --connect-timeout=2 --read-timeout=2 --tries=1 http://hackage.haskell.org/packages/archive/language-c/${VERSION}/language-c-${VERSION}.tar.gz +popd + +# Put happy and alex in the path +PATH=$HOME/.cabal/bin:$PATH + +tar xfz ${MAINT_HS}/language-c-${VERSION}.tar.gz >/dev/null +if [[ $? != 0 ]] +then + echo "Untar of language-c-${VERSION}.tar.gz failed!" + exit 1 +fi + +echo "Patching language-c-${VERSION} with Aesop extensions..." + +cd language-c-${VERSION} +patch -p 1 < ${MAINT_HS}/language-c-${VERSION}.patch > /dev/null +if [[ $? != 0 ]] +then + echo "Patch of language-c failed!" + exit 1 +fi + +echo "Building language-aesop-${VERSION} package..." +cabal configure +cabal build +echo "Installing language-aesop-${VERSION} package..." +cabal install + +# rm -r language-c-${VERSION} + +# Local Variables: +# sh-basic-offset: 4 +# End: diff --git a/code/maint/hs/setup-cabal-local b/code/maint/hs/setup-cabal-local new file mode 100644 index 0000000..60abc08 --- /dev/null +++ b/code/maint/hs/setup-cabal-local @@ -0,0 +1,11 @@ +#!/bin/sh + +# SETUP-CABAL-LOCAL +# Installs cabal locally +# Use apt-get install cabal-install to install globally + +wget http://www.haskell.org/cabal/release/cabal-install-0.14.0/cabal-install-0.14... +tar xvfz cabal-install-0.14.0.tar.gz +cd cabal-install-0.14.0 +sh ./bootstrap.sh + diff --git a/code/maint/hs/setup-hs-local b/code/maint/hs/setup-hs-local index a5c56dc..5367231 100755 --- a/code/maint/hs/setup-hs-local +++ b/code/maint/hs/setup-hs-local @@ -1,85 +1,12 @@ #!/bin/sh -OLDPWD=$PWD +# SETUP-HS-LOCAL +# Uses cabal to install Haskell packages required for Aesop -cmdpath=$(echo $0|sed -e "s|^\(.*\)/[^/]*$|\1|") - -verbose= - -while [ x"$1" != x ]; do - case $1 in - -v) verbose=1 - shift - continue;; - *) arg=shift - echo "unknown argument $arg" - exit 1 - esac -done - -install_pkg() -{ - pname=$1 - version=$2 - cd ${OLDPWD} - wget http://hackage.haskell.org/packages/archive/$pname/$version/$pname-$version.... 2>&1 >/dev/null - if [ $? != 0 ]; then - echo "Get of $pname-$version from hackage.haskell.org failed!" >&2 - exit 1 - fi - tar xvfz $pname-$version.tar.gz 2>&1 >/dev/null - if [ $? != 0 ]; then - echo "Untar of $pname-$version.tar.gz failed!" >&2 - exit 1 - fi - cd $pname-$version - runhaskell Setup configure --prefix=${OLDPWD}/GHC --user 2>&1 >/dev/null - if [ $? != 0 ]; then - echo "configure of $pname-$version failed!" >&2 - exit 1 - fi - runhaskell Setup build 2>&1 >/dev/null - if [ $? != 0 ]; then - echo "build of $pname-$version failed!" >&2 - exit 1 - fi - runhaskell Setup install --user 2>&1 >/dev/null - if [ $? != 0 ]; then - echo "install of $pname-$version failed!" >&2 - exit 1 - fi -} - -vpkg() -{ - if [ "x$verbose" != "x" ]; then - install_pkg $1 $2 - else - echo -n "Installing package $1, version $2..." - install_pkg $1 $2 > /dev/null - echo "done." - fi -} - -#vpkg transformers 0.2.2.0 -#vpkg mtl 2.0.1.0 -#vpkg happy 1.18.6 -#vpkg QuickCheck 2.4.2 -#vpkg alex 3.0.2 -#vpkg regex-base 0.93.2 -#vpkg regex-posix 0.94.4 -#vpkg regex-pcre-builtin 0.94.2.1.7.7 -#vpkg syb 0.3.6.1 - -# Installs cabal locally - apt-get install cabal-install to install globally -wget http://www.haskell.org/cabal/release/cabal-install-0.14.0/cabal-install-0.14... -tar xvfz cabal-install-0.14.0.tar.gz -cd cabal-install-0.14.0 -sh ./bootstrap.sh cabal update + cabal install alex cabal install happy - cabal install regex-posix cabal install regex-pcre cabal install mtl diff --git a/code/maint/hs/setup-langc b/code/maint/hs/setup-langc deleted file mode 100755 index 5c5d7a3..0000000 --- a/code/maint/hs/setup-langc +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash - -cmdpath=$(echo $0|sed -e "s|^\(.*\)/[^/]*$|\1|") - -VERSION=0.4.2 - -pushd ${cmdpath} -wget --connect-timeout=2 --read-timeout=2 --tries=1 http://hackage.haskell.org/packages/archive/language-c/${VERSION}/language-c-${VERSION}.tar.gz -popd - -set -x - -# put happy and alex in the path -PATH=$HOME/.cabal/bin:$PATH - -# use local copy for now -tar xvfz ${cmdpath}/language-c-${VERSION}.tar.gz >/dev/null 2>&1 -if [ $? != 0 ]; then - echo "Untar of language-c-${VERSION}.tar.gz failed!" - exit 1 -fi - -echo "Patching language-c-${VERSION} with Aesop extensions..." - -cd language-c-${VERSION} -patch -p 1 < ${OLDPWD}/${cmdpath}/language-c-${VERSION}.patch >/dev/null 2>&1 -if [ $? != 0 ]; then - echo "Patch of language-c failed!" - exit 1 -fi - -echo "Building/Installing language-aesop-${VERSION} package..." -cabal configure -cabal build -cabal install - -cd - -# rm -r language-c-${VERSION} diff --git a/code/src/aesop/parser/README b/code/src/aesop/parser/README deleted file mode 100644 index 5b96205..0000000 --- a/code/src/aesop/parser/README +++ /dev/null @@ -1,25 +0,0 @@ - -If you want to build/install haskell and -the necessary haskell libraries for aesop, you should follow these steps: - -On debian/ubuntu, run (requires sudo privs): - -./maint/hs/setup-hs-debian -./maint/hs/setup-langc - -If you don't have root, but haskell (ghc) has already been installed, you can do: - -./maint/hs/setup-hs-local -./maint/hs/setup-langc - -On systems without haskell binary packages (ghc), you'll need to do: - -* Download/Build/Install ghc from http://www.haskell.org/ghc/ -* Download/Build/Install MTL from http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl -* Download/Build/Install happy from http://www.haskell.org/happy/ -* Download/Build/Install alex from http://www.haskell.org/alex/ - -* Then run: setup-langc - -NOTE: Building by hand turns out to be a big PITA, its highly recommended -that you find a system where you can install the debian packages. diff --git a/code/src/aesop/parser/README.txt b/code/src/aesop/parser/README.txt new file mode 100644 index 0000000..bc2291b --- /dev/null +++ b/code/src/aesop/parser/README.txt @@ -0,0 +1,28 @@ + +How to install the necessary Haskell libraries for Aesop: + +1) Install cabal + +a) Install the easy way: +apt-get install cabal + +or: +b) Set up a local cabal installation: +./maint/hs/setup-cabal-local + +2) Set up the required Haskell libraries +./maint/hs/setup-hs-local + +3) Set up Aesop: +./maint/hs/setup-aesop + +On systems without Haskell binary packages (ghc), you'll need to do: + +* Download/Build/Install ghc from http://www.haskell.org/ghc/ +* Download/Build/Install MTL from http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl +* Download/Build/Install happy from http://www.haskell.org/happy/ +* Download/Build/Install alex from http://www.haskell.org/alex/ + +* Then run: setup-aesop + +NOTE: Cabal is the recommended method. hooks/post-receive --