divide packages into "core" and "extra" packages
authorSimon Marlow <simonmar@microsoft.com>
Thu, 24 Aug 2006 11:49:02 +0000 (11:49 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Thu, 24 Aug 2006 11:49:02 +0000 (11:49 +0000)
The following packages are now "core" packages:

  base, Cabal, haskell98, readline, regex-base, regex-compat
  regex-posix, stm, template-haskell, unix, Win32

Core packages are those packages required to bootstrap GHC, or are
closely tied to GHC (stm, template-haskell).  These are the packages
that will be provided in a source distribution from now on.

All other packages are classified as "extra" packages.  As far as
binary distributions and nightly builds go, nothing will change -
we'll still build and include all these packages in the distributions.

NOTE: 'sh darcs-all get' will now get the core packages only.  To get
the extra packages too, use 'sh darcs-all --extra get'.

darcs-all
libraries/core-packages [new file with mode: 0644]
libraries/extra-packages [moved from libraries/default-packages with 58% similarity]

index 579bc5c..9efeab1 100644 (file)
--- a/darcs-all
+++ b/darcs-all
@@ -28,7 +28,7 @@ darcsall()
        message "== $dir not present or not a repository; skipping"
     fi
   done
-  for pkg in `cat libraries/default-packages`; do
+  for pkg in `cat libraries/core-packages libraries/extra-packages`; do
     if test -d libraries/$pkg; then
        message "== running darcs $* in libraries/$pkg"
        darcs $* --repodir libraries/$pkg
@@ -52,7 +52,14 @@ darcsget()
   esac
 
   cd libraries
-  for pkg in `cat default-packages`; do
+
+  if test "$extra" = "YES"; then
+      packages=`cat core-packages extra-packages`
+  else
+      packages=`cat core-packages`
+  fi
+
+  for pkg in $packages; do
     if test -d $pkg; then
        echo "warning: $pkg already present; omitting"
     else
@@ -72,6 +79,13 @@ case $* in
   *-q*) quiet=YES;;
 esac
 
+# --extra says we grab the extra libs with 'get'.  It has no effect on
+# the other commands.
+extra=NO;
+case $1 in
+  --extra) shift; extra=YES;
+esac
+
 case $1 in
   get)  shift; darcsget $*;;
   # Hack around whatsnew failing if there are no changes
diff --git a/libraries/core-packages b/libraries/core-packages
new file mode 100644 (file)
index 0000000..ad24e25
--- /dev/null
@@ -0,0 +1,11 @@
+base
+Cabal
+haskell98
+readline
+regex-base
+regex-compat
+regex-posix
+stm
+template-haskell
+unix
+Win32
similarity index 58%
rename from libraries/default-packages
rename to libraries/extra-packages
index 6927cc7..b2091af 100644 (file)
@@ -1,4 +1,3 @@
-Cabal
 ALUT
 GLUT
 HGL
@@ -9,25 +8,15 @@ ObjectIO
 OpenAL
 OpenGL
 QuickCheck
-Win32
 X11
 arrows
-base
 cgi
 fgl
 haskell-src
-haskell98
 html
 monads
 mtl
 network
 parsec
-readline
-regex-base
-regex-posix
-regex-compat
-stm
-template-haskell
 time
-unix
 xhtml