on master help sign in
More utility scripts
d875c25Julian K. Arni
scripts/shell.nixnew file+15
@@ -0,0 +1,15 @@
1+# Get a Nix shell with all the packages installed
2+# Also a good way of running the tests for all packages
3+with (import <nixpkgs> {}).pkgs;
4+let modifiedHaskellPackages = haskellngPackages.override {
5+ overrides = self: super: {
6+ servant = self.callPackage ../servant {};
7+ servant-server = self.callPackage ../servant-server {};
8+ servant-client = self.callPackage ../servant-client {};
9+ servant-jquery = self.callPackage ../servant-jquery {};
10+ servant-docs = self.callPackage ../servant-docs {};
11+ };
12+ };
13+in modifiedHaskellPackages.ghcWithPackages ( p : with p ; [
14+ servant servant-server servant-client servant-jquery servant-docs
15+])
scripts/test-all.sh+8−5
@@ -8,21 +8,24 @@
8# DESCRIPTION: Run tests for all source directories listed in $SOURCES.
8# DESCRIPTION: Run tests for all source directories listed in $SOURCES.
9# Uses local versions of those sources.
9# Uses local versions of those sources.
10#
10#
11+# REQUIREMENTS: bash >= 4
11#===============================================================================
12#===============================================================================
12
13
13set -o nounset
14set -o nounset
14set -o errexit
15set -o errexit
15
16
16−SOURCES=( servant servant-server servant-client servant-jquery servant-docs )
17+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
17GHC_FLAGS="-Werror"
18GHC_FLAGS="-Werror"
19+SOURCES_TXT="$( dirname $DIR)/sources.txt"
20+
21+declare -a SOURCES
22+readarray -t SOURCES < "$SOURCES_TXT"
23+
18
24
19prepare_sandbox () {
25prepare_sandbox () {
20 cabal sandbox init
26 cabal sandbox init
21 for s in ${SOURCES[@]} ; do
27 for s in ${SOURCES[@]} ; do
22− cd "$s"
23− cabal sandbox init --sandbox=../
28+ (cd "$s" && cabal sandbox init --sandbox=../ && cabal sandbox add-source .)
24− cabal sandbox add-source .
25− cd ..
26 done
29 done
27}
30}
28
31
scripts/update-defaults-nix.shnew file+24
@@ -0,0 +1,24 @@
1+#!/bin/bash -
2+#===============================================================================
3+#
4+# USAGE: ./update-defaults-nix.sh
5+#
6+# DESCRIPTION: Updates the default.nix files in all source dirs
7+#
8+# REQUIREMENTS: cabal2nix, bash >= 4
9+#===============================================================================
10+
11+set -o nounset
12+set -o errexit
13+
14+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
15+BASE_DIR="$( dirname $DIR)"
16+SOURCES_TXT="$BASE_DIR/sources.txt"
17+
18+declare -a SOURCES
19+readarray -t SOURCES < "$SOURCES_TXT"
20+
21+for s in ${SOURCES[@]} ; do
22+ echo $s
23+ (cd "$BASE_DIR/$s" && cabal2nix . > default.nix )
24+done