File: cabal-apt-install

package info (click to toggle)
haskell-adjunctions 4.1.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 156 kB
  • ctags: 1
  • sloc: haskell: 822; sh: 19; makefile: 2
file content (27 lines) | stat: -rwxr-xr-x 698 bytes parent folder | download | duplicates (23)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! /bin/bash
set -eu

APT="sudo apt-get -q -y"
CABAL_INSTALL_DEPS="cabal install --only-dependencies --force-reinstall"

$APT update
$APT install dctrl-tools

# Find potential system packages to satisfy cabal dependencies
deps()
{
	local M='^\([^ ]\+\)-[0-9.]\+ (.*$'
	local G=' -o ( -FPackage -X libghc-\L\1\E-dev )'
	local E="$($CABAL_INSTALL_DEPS "$@" --dry-run -v 2> /dev/null \
		| sed -ne "s/$M/$G/p" | sort -u)"
	grep-aptavail -n -sPackage \( -FNone -X None \) $E | sort -u
}

$APT install $(deps "$@") libghc-quickcheck2-dev # QuickCheck is special
$CABAL_INSTALL_DEPS "$@" # Install the rest via Hackage

if ! $APT install hlint ; then
	$APT install $(deps hlint)
	cabal install hlint
fi