From 7475b3058473d8462b645e4cbff46d87bbacdd2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20G=C3=A9lineau?= Date: Sat, 27 Sep 2014 16:59:30 -0400 Subject: [PATCH 1/2] Uninstall curl before running debian-bootstrap debian-bootstrap attempts to install cabal-install-1.16, which can either work with curl, wget, or fetch, in that order of preference. Unfortunately the hackage URLs have changed since 1.16 and with the arguments used in cabal-install's bootstrap script, curl doesn't follow 301 redirects. The simplest solution is to uninstall curl, so that wget is used instead. --- debian-bootstrap.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 62bf2364..5279b82a 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -6,6 +6,11 @@ # Quick start: # wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex +if which curl > /dev/null; then + echo "Uninstalling curl to avoid an issue with cabal-install-1.16" + sudo apt-get remove curl +fi + sudo apt-get update sudo apt-get install -y build-essential libncurses-dev git libgmp3c2 libgmp3-dev zlib1g-dev libedit2 libedit-dev freeglut3-dev libglu1-mesa-dev libglib2.0-dev libcairo2-dev libpango1.0-dev libgtk2.0-dev zip libdevil-dev llvm libbz2-dev libjudy-dev libmysqlclient-dev libpq-dev libicu-dev libssl-dev nettle-dev libgsl0-dev libblas-dev liblapack-dev wget http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-x86_64-unknown-linux.tar.bz2 From 4445292b3185e6eb3210daae259115ec6fc892eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20G=C3=A9lineau?= Date: Sun, 28 Sep 2014 09:40:50 -0400 Subject: [PATCH 2/2] Upgrade to cabal-install-1.18 instead Instead of removing curl to work around limitations in the cabal-install-1.16 bootstrap script, we upgrade to cabal-install-1.18 instead. --- debian-bootstrap.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh index 5279b82a..fde679f2 100755 --- a/debian-bootstrap.sh +++ b/debian-bootstrap.sh @@ -6,11 +6,6 @@ # Quick start: # wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex -if which curl > /dev/null; then - echo "Uninstalling curl to avoid an issue with cabal-install-1.16" - sudo apt-get remove curl -fi - sudo apt-get update sudo apt-get install -y build-essential libncurses-dev git libgmp3c2 libgmp3-dev zlib1g-dev libedit2 libedit-dev freeglut3-dev libglu1-mesa-dev libglib2.0-dev libcairo2-dev libpango1.0-dev libgtk2.0-dev zip libdevil-dev llvm libbz2-dev libjudy-dev libmysqlclient-dev libpq-dev libicu-dev libssl-dev nettle-dev libgsl0-dev libblas-dev liblapack-dev wget http://www.haskell.org/ghc/dist/7.4.2/ghc-7.4.2-x86_64-unknown-linux.tar.bz2 @@ -21,9 +16,9 @@ sudo make install echo 'export PATH=/opt/ghc-7.4.2/bin:~/.cabal/bin:$PATH' >> ~/.bashrc export PATH=/opt/ghc-7.4.2/bin:~/.cabal/bin:$PATH cd .. -wget http://hackage.haskell.org/packages/archive/cabal-install/1.16.0.2/cabal-install-1.16.0.2.tar.gz -tar zxfv cabal-install-1.16.0.2.tar.gz -cd cabal-install-1.16.0.2/ +wget http://hackage.haskell.org/packages/archive/cabal-install/1.18.0.5/cabal-install-1.18.0.5.tar.gz +tar zxfv cabal-install-1.18.0.5.tar.gz +cd cabal-install-1.18.0.5/ bash bootstrap.sh cd .. git clone --recursive https://github.com/fpco/stackage