From 60d9fc0b9ff51cef0a7895a399410f50dc52b970 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Fri, 13 Jan 2006 15:05:05 +0000 Subject: [PATCH] Add infrastructure for multiple library packages The ./darcs-all script at the top level is an easier way to do darcs pull/push/get on the whole tree (it should probably allow more commands; I'll fix that later). libraries/default-packages is a list of darcs repositories with which to populate the libraries tree. --- darcs-all | 55 ++++++++++++++++++++++++++++++++++++++++++++ libraries/.darcs-boring | 27 ++++++++++++++++++++++ libraries/default-packages | 26 +++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 darcs-all create mode 100644 libraries/.darcs-boring create mode 100644 libraries/default-packages diff --git a/darcs-all b/darcs-all new file mode 100644 index 0000000..9906495 --- /dev/null +++ b/darcs-all @@ -0,0 +1,55 @@ +#!/bin/sh + +top_dirs="nofib testsuite" + +function darcsall() +{ + for dir in $top_dirs; do + if test -d $dir -a -d $dir/_darcs; then + echo "== running darcs $* in $dir" + (cd $dir && darcs $*) + else + echo "== $dir not present or not a repository; skipping" + fi + done + cd libraries + for repo in `cat default-packages`; do + dir=`basename $repo` + if test -d $dir; then + echo "== running darcs $* in libraries/$dir" + (cd $dir && darcs $*) + else + echo "warning: $dir doesn't seem to exist, use 'darcs-all get' to get it" + fi + done +} + +function darcsget() +{ + case $* in + *--partial*) ;; + *) echo "warning: adding --partial, to override use --complete" + esac + + cd libraries + for repo in `cat default-packages`; do + if test -d `basename $repo`; then + echo "warning: `basename $repo` already present; omitting" + else + echo "== running darcs get --partial $* $repo" + darcs get --partial $* $repo + fi + done +} + +if test ! -d _darcs -o ! -d ghc; then + echo "error: darcs-all must be run from the top level of the ghc tree." + exit 1; +fi + +case $1 in + push) darcsall $*;; + pull) darcsall $*;; + get) shift; darcsget $*;; + *) echo "syntax: ./darcs-all push|pull"; exit 1;; +esac diff --git a/libraries/.darcs-boring b/libraries/.darcs-boring new file mode 100644 index 0000000..d0c8a63 --- /dev/null +++ b/libraries/.darcs-boring @@ -0,0 +1,27 @@ +#Packages: +^Cabal/ +^ALUT/ +^GLUT/ +^HGL/ +^HUnit/ +^HaXml/ +^Japi/ +^ObjectIO/ +^OpenAL/ +^OpenGL/ +^QuickCheck/ +^Win32/ +^X11/ +^arrows/ +^base/ +^fgl/ +^haskell-src/ +^haskell98/ +^monads/ +^mtl/ +^network/ +^parsec/ +^readline/ +^stm/ +^template-haskell/ +^unix/ diff --git a/libraries/default-packages b/libraries/default-packages new file mode 100644 index 0000000..1dbefe1 --- /dev/null +++ b/libraries/default-packages @@ -0,0 +1,26 @@ +http://darcs.haskell.org/packages/Cabal +http://darcs.haskell.org/packages/ALUT +http://darcs.haskell.org/packages/GLUT +http://darcs.haskell.org/packages/HGL +http://darcs.haskell.org/packages/HUnit +http://darcs.haskell.org/packages/HaXml +http://darcs.haskell.org/packages/Japi +http://darcs.haskell.org/packages/ObjectIO +http://darcs.haskell.org/packages/OpenAL +http://darcs.haskell.org/packages/OpenGL +http://darcs.haskell.org/packages/QuickCheck +http://darcs.haskell.org/packages/Win32 +http://darcs.haskell.org/packages/X11 +http://darcs.haskell.org/packages/arrows +http://darcs.haskell.org/packages/base +http://darcs.haskell.org/packages/fgl +http://darcs.haskell.org/packages/haskell-src +http://darcs.haskell.org/packages/haskell98 +http://darcs.haskell.org/packages/monads +http://darcs.haskell.org/packages/mtl +http://darcs.haskell.org/packages/network +http://darcs.haskell.org/packages/parsec +http://darcs.haskell.org/packages/readline +http://darcs.haskell.org/packages/stm +http://darcs.haskell.org/packages/template-haskell +http://darcs.haskell.org/packages/unix -- 1.7.10.4