git.iko.soy/typeable/servant
on master help sign in
More utility scripts
commitd875c256bc1e085546c6a530112546b748d03cad authorJulian K. Arni <jkarni@gmail.com> dateMon 20 Apr 2015, 19:13 (11 years ago) parent669fb6e
3 files changed+47−5
scripts/shell.nix+15 scripts/test-all.sh+8−5 scripts/update-defaults-nix.sh+24
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 @@
88# DESCRIPTION: Run tests for all source directories listed in $SOURCES.
99# Uses local versions of those sources.
1010#
11+# REQUIREMENTS: bash >= 4
1112#===============================================================================
1213
1314set -o nounset
1415set -o errexit
1516
16−SOURCES=( servant servant-server servant-client servant-jquery servant-docs )
17+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
1718GHC_FLAGS="-Werror"
19+SOURCES_TXT="$( dirname $DIR)/sources.txt"
20+
21+declare -a SOURCES
22+readarray -t SOURCES < "$SOURCES_TXT"
23+
1824
1925prepare_sandbox () {
2026 cabal sandbox init
2127 for s in ${SOURCES[@]} ; do
22− cd "$s"
23− cabal sandbox init --sandbox=../
24− cabal sandbox add-source .
25− cd ..
28+ (cd "$s" && cabal sandbox init --sandbox=../ && cabal sandbox add-source .)
2629 done
2730}
2831
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