[Pkg-haskell-commits] r794 - in /packages/hs-plugins/trunk: ./ debian/ docs/ examples/ scripts/ src/ src/AltData/ src/Language/ src/System/ src/altdata/ src/hi/ src/plugins/ testsuite/

arjan at users.alioth.debian.org arjan at users.alioth.debian.org
Sun Nov 11 15:51:38 UTC 2007


Author: arjan
Date: Sun Nov 11 15:51:38 2007
New Revision: 794

URL: http://svn.debian.org/wsvn/pkg-haskell/?sc=1&rev=794
Log:
* (NOT RELEASED YET) New upstream release

Added:
    packages/hs-plugins/trunk/Setup.lhs
      - copied unchanged from r793, packages/hs-plugins/branches/upstream/current/Setup.lhs
    packages/hs-plugins/trunk/install.sh
      - copied unchanged from r793, packages/hs-plugins/branches/upstream/current/install.sh
    packages/hs-plugins/trunk/plugins.cabal
      - copied unchanged from r793, packages/hs-plugins/branches/upstream/current/plugins.cabal
    packages/hs-plugins/trunk/plugins.cabal.hsx
      - copied unchanged from r793, packages/hs-plugins/branches/upstream/current/plugins.cabal.hsx
    packages/hs-plugins/trunk/scripts/Setup-with-ghc.lhs
      - copied unchanged from r793, packages/hs-plugins/branches/upstream/current/scripts/Setup-with-ghc.lhs
    packages/hs-plugins/trunk/src/AltData/
      - copied from r793, packages/hs-plugins/branches/upstream/current/src/AltData/
    packages/hs-plugins/trunk/src/Language/
      - copied from r793, packages/hs-plugins/branches/upstream/current/src/Language/
    packages/hs-plugins/trunk/src/System/
      - copied from r793, packages/hs-plugins/branches/upstream/current/src/System/
    packages/hs-plugins/trunk/testsuite/
      - copied from r793, packages/hs-plugins/branches/upstream/current/testsuite/
Removed:
    packages/hs-plugins/trunk/BUILDING.CVS
    packages/hs-plugins/trunk/VERSION
    packages/hs-plugins/trunk/autogen.sh
    packages/hs-plugins/trunk/examples/
    packages/hs-plugins/trunk/install-sh
    packages/hs-plugins/trunk/src/Makefile
    packages/hs-plugins/trunk/src/README
    packages/hs-plugins/trunk/src/altdata/
    packages/hs-plugins/trunk/src/build.mk
    packages/hs-plugins/trunk/src/hi/
    packages/hs-plugins/trunk/src/plugins/
Modified:
    packages/hs-plugins/trunk/Makefile
    packages/hs-plugins/trunk/README
    packages/hs-plugins/trunk/TODO
    packages/hs-plugins/trunk/config.h.in
    packages/hs-plugins/trunk/config.mk.in
    packages/hs-plugins/trunk/configure.ac
    packages/hs-plugins/trunk/debian/changelog
    packages/hs-plugins/trunk/docs/hs-plugins.1
    packages/hs-plugins/trunk/docs/hs-plugins.tex
    packages/hs-plugins/trunk/scripts/mkrelease.sh

Modified: packages/hs-plugins/trunk/Makefile
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/Makefile?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/Makefile (original)
+++ packages/hs-plugins/trunk/Makefile Sun Nov 11 15:51:38 2007
@@ -1,57 +1,12 @@
 # Copyright (c) 2004 Don Stewart - http://www.cse.unsw.edu.au/~dons
 # LGPL version 2.1 or later (see http://www.gnu.org/copyleft/lesser.html)
-
-# cut down reimplementation of $fptools/mk directory
-
-.PHONY: build all
-
-all: build EvalHaskell.h
-
-build::
-	cd src && $(MAKE)
-	@find src -name depend -exec rm {} \;
-	@#cd src && $(MAKE) way=p
-
-EvalHaskell.h: build
-	cp src/plugins/System/Eval/Haskell_stub.h $@
-
-#
-# installing
-#
-
-# TODO put these in subdirs
-install:
-	$(INSTALL_DATA_DIR) $(LIBDIR)/include
-	$(INSTALL_DATA) EvalHaskell.h $(LIBDIR)/include
-	$(INSTALL_DATA_DIR) $(MANDIR)/man1
-	$(INSTALL_DATA) docs/hs-plugins.1 $(MANDIR)/man1
-	@(cd src && $(MAKE) install)
-
-#
-# and register the library with ghc package system
-# Use this target if installing by hand. May need to be performed as root
-#
-register:
-	env LIBDIR=${LIBDIR} $(GHC_PKG) -u < src/altdata/altdata.conf.in
-	env LIBDIR=${LIBDIR} $(GHC_PKG) -u < src/hi/hi.conf.in
-	env LIBDIR=${LIBDIR} $(GHC_PKG) -u < src/plugins/plugins.conf.in
-
-# and unregister the packages
-unregister:
-	$(GHC_PKG) -r plugins
-	$(GHC_PKG) -r hi
-	$(GHC_PKG) -r altdata
 
 #
 # regress check. TODO check expected output
 # 
 check:
-	@if [ ! -f EvalHaskell.h ] ; then	\
-		echo "run 'make' first" ;	\
-		exit 1 ;\
-	fi
 	@( d=/tmp/plugins.tmp.$$$$ ; mkdir $$d ; export TMPDIR=$$d ;\
-	   for i in `find examples ! -name CVS -type d -maxdepth 2 -mindepth 2` ; do \
+	   for i in `find testsuite ! -name CVS -type d -maxdepth 2 -mindepth 2 | sort` ; do \
 		printf "=== testing %-50s ... " "$$i" ;	\
 		( cd $$i ; if [ -f dont_test ] ; then \
 		 	echo "ignored."	;\
@@ -61,33 +16,29 @@
 		  fi ) 2> /dev/null ;\
 	   done ; rm -rf $$d )
 	
-
 #
 # making clean
 #
 
 CLEAN_FILES += *.conf.*.old *~
+
 EXTRA_CLEANS+=*.conf.inplace* *.conf.in *.h autom4te.cache \
 	      config.h config.mk config.log config.status
 
 clean:
 	cd docs && $(MAKE) clean
-	cd src  && $(MAKE) clean
+	runhaskell Setup.lhs clean 2> /dev/null || true
 	rm -rf $(CLEAN_FILES)
-	find examples -name '*.a' -exec rm {} \;
-	find examples -name '*~' -exec rm {} \;
-	find examples -name 'a.out' -exec rm {} \;
-	find examples -name '*.hi' -exec rm {} \;
-	find examples -name '*.o' -exec rm {} \;
-	find examples -name '*.core' -exec rm {} \;
-	find examples -name 'package.conf' -exec rm {} \;
-	rm -f examples/makewith/io/TestIO.conf
-	rm -f examples/makewith/unsafeio/Unsafe.conf
-	rm -rf examples/hmake/lib-plugs/plugs
-	rm -rf examples/hmake/one-shot/runplugs
-	rm -f EvalHaskell.h
-
-distclean: clean
+	find testsuite -name '*.a' -exec rm {} \;
+	find testsuite -name '*~' -exec rm {} \;
+	find testsuite -name 'a.out' -exec rm {} \;
+	find testsuite -name '*.hi' -exec rm {} \;
+	find testsuite -name '*.o' -exec rm {} \;
+	find testsuite -name '*.core' -exec rm {} \;
+	find testsuite -name 'package.conf' -exec rm {} \;
+	rm -f testsuite/makewith/io/TestIO.conf
+	rm -f testsuite/makewith/unsafeio/Unsafe.conf
+	rm -rf testsuite/plugs/plugs/plugs
+	rm -rf testsuite/plugs/plugs/runplugs
 	rm -rf $(EXTRA_CLEANS)
 
-include config.mk

Modified: packages/hs-plugins/trunk/README
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/README?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/README (original)
+++ packages/hs-plugins/trunk/README Sun Nov 11 15:51:38 2007
@@ -14,8 +14,8 @@
 standard declarations and syntax, saving the user from having to write
 standard code themselves.
 
-It provides an eval() function, for generating new, well-typed,
-compiled code from a Haskell source string.
+It provides an `eval' function, for generating new, well-typed, compiled
+code from a Haskell source string.
 
 It also provides a new variation of printf for Haskell-- a runtime
 generated, dynamically-typed printf.
@@ -23,15 +23,42 @@
 Read the documentation in doc/ for more.
 
 ------------------------------------------------------------------------
+
+BUILDING:
+        $ chmod +x Setup.lhs configure
+        $ ./Setup.lhs configure --prefix=/usr/local
+        $ ./Setup.lhs build
+        $ ./Setup.lhs install
+
+------------------------------------------------------------------------
+
 DEPENDENCIES:
 
-* Requires GHC > 6.2 (for Typeable.h)
-* Requires GNU make or BSD make to build
-* Requires HSX, Niklas Broberg's Haskell parser library, available at:
-    darcs get http://www.cs.chalmers.se/~d00nibro/haskell-src-exts
-  Read the README with this package for how to install it (quite simple)
+* Requires GHC >= 6.4
+* Requires Cabal
 
 ------------------------------------------------------------------------
+
+* Optional:
+   If you are doing a lot of `merge'-related operations, and require
+   an extended haskell parser, you can compile hs-plugins to use 
+   HSX, Niklas Broberg's Haskell parser library, available at:
+
+    darcs get http://www.cs.chalmers.se/~d00nibro/haskell-src-exts
+
+   To get hs-plugins to use HSX, use: 
+
+        $ mv plugins.cabal.hsx plugins.cabal
+        $ ./Setup.lhs configure --enable-hsx
+
+   Make sure to install HSX first though :)
+
+------------------------------------------------------------------------
+
+* On cygwin/windows you (a) make sure the cygwin "find" is before the
+  windows "find" on your PATH, and (b) to give the windows-style path
+  (e.g., "c:/cygwin/usr/local") in the ./configure --prefix=foo/bar
+  step
 
 * 'plugs' requires a working readline library.
 
@@ -39,42 +66,17 @@
   you require a patch to GHC's linker, that was committed into ghc
   6.3, and ghc 6.2 -stable branch, and is available from 6.2.2 onwards.
 
-* If you need to regenerate ./configure you need >= autoconf-2.53
+* If you need to regenerate ./configure you need >= autoreconf-2.53
 
-------------------------------------------------------------------------
-BUILDING:
-        $ ./configure --prefix=/usr/local
-        $ make
-        $ make install
-
-* On cygwin/windows you (a) make sure the cygwin "find" is before the
-  windows "find" on your PATH, and (b) to give the windows-style path
-  (e.g., "c:/cygwin/usr/local") in the ./configure --prefix=foo/bar
-  step
-
-If you wish to register the libraries as official ghc pkg (probably as
-root):
-	$ make register
-
-And to unregister (maybe as root). Note that the unistall order
-matters:
-
-        $ ghc-pkg -r printf
-        $ ghc-pkg -r eval
-        $ ghc-pkg -r plugins
-        $ ghc-pkg -r hi
-        $ ghc-pkg -r altdata
-
-Once it is registered, you can link against the library by just adding
--package plugins or, e.g. -package eval, to your command line.
-
-The documentation relies on latex, dvips, tex2page:
+* The documentation relies on haddock, latex, dvips, tex2page:
 
         $ cd doc && make
 
+------------------------------------------------------------------------
+
 EXAMPLES:
 
-Have a look in the examples/ directory for many examples of how to
+Have a look in the testsuite/ directory for many examples of how to
 arrange your code.
 
 LICENSE:
@@ -85,8 +87,8 @@
 
 PORTABILITY:
 
-Requires GHC 6.2 or greater, though most testing has be done on 6.3.
-They dynamic loader requires a functional GHCi implementation.
+Requires GHC 6.4 or greater, though most testing has be done on 6.4.
+The dynamic loader requires a functional GHCi implementation.
 
 ---------------------+--------------------------------------------------
   Platform           |  Works   Should work*    Unknown    Won't work
@@ -95,6 +97,7 @@
 i386-*-freebsd       |    X
 i386-*-openbsd       |    X           
 powerpc-apple-darwin |    X            
+powerpc-*-linux      |    X            
 sparc-*-solaris2     |    X            
 ia64-*-linux         |    #
 i386-*-solaris2      |                X

Modified: packages/hs-plugins/trunk/TODO
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/TODO?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/TODO (original)
+++ packages/hs-plugins/trunk/TODO Sun Nov 11 15:51:38 2007
@@ -1,9 +1,10 @@
-For 0.1
+For 1.0
 ----------
 
-+ nice functions for cleaning up /tmp files, given a module name
++ hs-plugins doesn't know to look for packages in the user packages,
+only in the global packages
 
-+ write a script to strip down the release code.
++ version numbers in package loads are annyoing
 
 + .hi file parser is broken on Itanium, again.
 

Modified: packages/hs-plugins/trunk/config.h.in
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/config.h.in?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/config.h.in (original)
+++ packages/hs-plugins/trunk/config.h.in Sun Nov 11 15:51:38 2007
@@ -1,21 +1,46 @@
-/* 
- * Copyright (c) 2004 Don Stewart - http://www.cse.unsw.edu.au/~dons
- * LGPL version 2.1 or later (see http://www.gnu.org/copyleft/lesser.html)
- */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* symbols that must be assigned to variables in Haskell code */
+/* Defined if compiling with mingw */
+#undef CYGWIN
 
-/* NOTE: this is not the same as symbols needed for cpp of .hs code */
+/* Defined if a debugging version is to be built */
+#undef DEBUG
 
-/* path to ghc */
-#define GHC             "@GHC@"
+/* Path to ghc libraries */
+#undef GHC_LIB_PATH
 
-/* path to GHC libraries */
-#define GHC_LIB_PATH    "@GHC_LIB_PATH@"
+/* Define to 1 if you have the `arc4random' function. */
+#undef HAVE_ARC4RANDOM
 
-#define TOP             "@TOP@"
+/* Whether symbols are prefixed with a leading underscore */
+#undef LEADING_UNDERSCORE
 
-#define LEADING_UNDERSCORE @LEADING_UNDERSCORE@
+/* Defined if compiling on the mac */
+#undef MACOSX
 
-#define CABAL 		@CABAL@
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
 
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Path to top of build tree */
+#undef TOP
+
+/* Which ghc to use */
+#undef WITH_GHC
+
+/* Defined if hs-plugins is to be built with Niklas Broberg's HSX parser */
+#undef WITH_HSX
+
+/* Defined if compiling with mingw */
+#undef __MINGW32__

Modified: packages/hs-plugins/trunk/config.mk.in
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/config.mk.in?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/config.mk.in (original)
+++ packages/hs-plugins/trunk/config.mk.in Sun Nov 11 15:51:38 2007
@@ -1,58 +1,4 @@
-#
-# Copyright (c) 2004 Don Stewart - http://www.cse.unsw.edu.au/~dons
-# LGPL version 2.1 or later (see http://www.gnu.org/copyleft/lesser.html)
-#
- 
-#
-# config.mk.in :
-# variables that need to be visible in Makefiles
-#
-
-# all is the default rule for everyone
 default: all
-
-PACKAGE         = plugins
-UPACKAGE        = Plugins
-
 TOP             = @TOP@
-
-PREFIX          = @PREFIX@
-LIBDIR          = $(PREFIX)/lib/hs-$(PACKAGE)
-BINDIR          = $(PREFIX)/bin
-MANDIR          = $(PREFIX)/man
-
-WHOLE_ARCHIVE_FLAG = @WHOLE_ARCHIVE_FLAG@
-
-# Are we using the new Cabal packages?
-CABAL           = @CABAL@
-
-
 GHC             = @GHC@
-GHC_LIB_PATH    = @GHC_LIB_PATH@
-GHC_VERSION     = @GHC_VERSION@
 GLASGOW_HASKELL = @GLASGOW_HASKELL@
-GHC_EXTRA_OPTS  = @SYMS@ @DEBUG_OPTS@
-GHC_LD_OPTS     =
-
-GHC_PKG         = @GHCPKG@
-
-LD              = @LD@
-LD_X            = @LD@ -x
-
-HAPPY           = @HAPPY@
-HAPPY_OPTS      = -a -g -c
-ALEX            = @ALEX@
-ALEX_OPTS       = --ghc
-HADDOCK         = @HADDOCK@
-
-AR              = @AR@
-RANLIB          = @RANLIB@
-
-RM              = @RM@
-
-INSTALL         = @INSTALL@
-
-# A few aliases
-INSTALL_PROGRAM = ${INSTALL} -s -m 755
-INSTALL_DATA    = ${INSTALL}    -m 644
-INSTALL_DATA_DIR= ${INSTALL} -d -m 755

Modified: packages/hs-plugins/trunk/configure.ac
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/configure.ac?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/configure.ac (original)
+++ packages/hs-plugins/trunk/configure.ac Sun Nov 11 15:51:38 2007
@@ -1,10 +1,17 @@
 #
-# Copyright (c) 2004 Don Stewart - http://www.cse.unsw.edu.au/~dons
+# Copyright (c) 2004-5 Don Stewart - http://www.cse.unsw.edu.au/~dons
 # LGPL version 2.1 or later (see http://www.gnu.org/copyleft/lesser.html)
 #
 
+# SUBSTs go into config.mk.in (TOP,PREFIX,GHC,INSTAlL)
+# AC_DEFINES go into config.h
+# only AC_DEFINES are visible in Haskell src
+
 # sanity test
-AC_INIT(src/plugins/System/Plugins.hs)
+AC_INIT(src/System/Plugins.hs)
+
+# Prepare to generate the config.h.in file
+AC_CONFIG_HEADERS([config.h])
 
 # untested on earlier than 2.52, but it won't work anyway
 AC_PREREQ(2.53)
@@ -30,43 +37,35 @@
 case $Platform in
 powerpc-apple-darwin*)
         MACOSX=yes
+        AC_DEFINE_UNQUOTED(MACOSX, [1], [Defined if compiling on the mac])
+        LEADING_UNDERSCORE=1
 	;;
 *)
         MACOSX=no
+        LEADING_UNDERSCORE=0
 	;;
 esac
-if test "$MACOSX" = "yes" 
-then
-  WHOLE_ARCHIVE_FLAG=-all_load
-  LEADING_UNDERSCORE=1
-  SYMS="$SYMS -DMACOSX"
-else
-  WHOLE_ARCHIVE_FLAG=--whole-archive
-  LEADING_UNDERSCORE=0
-fi
-
-AC_SUBST(WHOLE_ARCHIVE_FLAG)
-AC_SUBST(LEADING_UNDERSCORE)
 
 if test "$build_os" = "mingw32"
 then
+  AC_DEFINE(__MINGW32__,[1],[Defined if compiling with mingw])
   LEADING_UNDERSCORE=1
-  SYMS="$SYMS -D__MINGW32__"
 fi
-AC_SUBST(LEADING_UNDERSCORE)
-AC_SUBST(SYMS)
 
 if test "$build_os" = "cygwin"
 then
+  AC_DEFINE(CYGWIN,[1],[Defined if compiling with mingw])
   LEADING_UNDERSCORE=1
-  SYMS="$SYMS -DCYGWIN"
 fi
-AC_SUBST(LEADING_UNDERSCORE)
-AC_SUBST(SYMS)
+
+AC_DEFINE_UNQUOTED(LEADING_UNDERSCORE, $LEADING_UNDERSCORE, 
+                [Whether symbols are prefixed with a leading underscore])
 
 # Find pwd, in a cygwin friendly way. 
 # Suggested by: http://www.haskell.org/ghc/docs/latest/html/users_guide/ch11s04.html
 TOP=`echo "Directory.getCurrentDirectory >>= putStrLn.init.tail.show " | ghc --interactive -ignore-dot-ghci -v0`
+
+AC_DEFINE_UNQUOTED(TOP, "$TOP", [Path to top of build tree])
 AC_SUBST(TOP)
 
 # necessary tools
@@ -85,23 +84,8 @@
     fi 
   ]
   )
+AC_DEFINE_UNQUOTED(WITH_GHC, "$GHC", [Which ghc to use])
 AC_SUBST(GHC)
-
-# find path to GHC libs, for runtime_loader
-if test -n "$GHC" ; then
-    AC_MSG_CHECKING([for ghc library directory])
-    GHC_LIB_PATH=`$GHC --print-libdir`
-    AC_MSG_RESULT([$GHC_LIB_PATH])
-fi
-AC_SUBST(GHC_LIB_PATH)
-
-# check ghc version here
-if test -n "$GHC" ; then
-    AC_MSG_CHECKING([for ghc version])
-    GHC_VERSION=`$GHC --numeric-version`
-    AC_MSG_RESULT([$GHC_VERSION])
-fi
-AC_SUBST(GHC_VERSION)
 
 # Work out value of __GLASGOW_HASKELL__
 if test -n "$GHC" ; then
@@ -113,113 +97,46 @@
 fi
 AC_SUBST(GLASGOW_HASKELL)
 
-dnl ** quote char breaks sed
-changequote(, )dnl
-MAJOR=`echo "$GHC_VERSION" | sed 's/^\([^\.]*\)\.\([^\.]*\).*/\1/'`
-MINOR=`echo "$GHC_VERSION" | sed 's/^\([^\.]*\)\.\([^\.]*\).*/\2/'`
-changequote([, ])dnl
-
-if test "$MAJOR" -lt "6"; then
-	AC_MSG_ERROR(Found major $MAJOR. You need a ghc version >= 6.2) ;
+# find path to GHC libs, for runtime_loader
+if test -n "$GHC" ; then
+    AC_MSG_CHECKING([for ghc library directory])
+    GHC_LIB_PATH=`$GHC --print-libdir`
+    AC_MSG_RESULT([$GHC_LIB_PATH])
 fi
-if test "$MINOR" -lt "2"; then
-	AC_MSG_ERROR(You need a ghc version >= 6.2) ;
-fi
-
-#Allow plugins to be built with Cabal libraries
-AC_ARG_ENABLE(cabal, 
-   [  --enable-cabal          Enable use of Cabal packages in pluggable-1-branch
-                          of GHC],
-   [ CABAL=1 ],
-   [ CABAL=0 ])
-
-# used by the Makefile`s to alter dependencies.
-if test "$MAJOR" -ge "6" -a "$MINOR" -ge "4"; then
-  CABAL=1
-fi
-
-AC_SUBST(CABAL)
+AC_DEFINE_UNQUOTED(GHC_LIB_PATH, "$GHC_LIB_PATH", [Path to ghc libraries])
 
 # Allow a debugging version of hs-plugins to be built
 AC_ARG_ENABLE(debug,
    [  --enable-debug          Enable a debug version of hs-plugins to be built],
-   [ DEBUG_OPTS=-DDEBUG ],
-   [ DEBUG_OPTS= ])
+   [ 
+     AC_DEFINE_UNQUOTED(DEBUG, [1], [Defined if a debugging version is to be built]) ],
+   [ : ])
 
-AC_SUBST(DEBUG_OPTS)
+# Allow a debugging version of hs-plugins to be built
+AC_ARG_ENABLE(hsx,
+   [  --enable-hsx          Enable a debug version of hs-plugins to be built],
+   [ HASKELL_SRC=haskell-src-exts ;
+     AC_DEFINE_UNQUOTED(WITH_HSX, [1], 
+          [Defined if hs-plugins is to be built with Niklas Broberg's HSX parser]) ],
+   [ HASKELL_SRC=haskell-src ])
 
-# Search for ghc-pkg
-AC_MSG_CHECKING([for ghc-pkg])
-ghc_pkg_guess=`echo $GHC | sed 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
-if "$ghc_pkg_guess" -l > /dev/null 2>&1; then
-      matching_ghc_pkg=$ghc_pkg_guess
-else
-      matching_ghc_pkg=no
-fi
-if test x"$matching_ghc_pkg" = xno; then
-    AC_CHECK_PROG([GHCPKG], [ghc-pkg])
-    if test -z "$GHCPKG" ; then
-       AC_MSG_ERROR([ghc-pkg not found.])
-    fi
-else
-    GHCPKG=$matching_ghc_pkg
-fi
-AC_MSG_RESULT([$GHCPKG])
-AC_SUBST(GHCPKG)
-
-AC_CHECK_PROG(HADDOCK,haddock,haddock)
-if test -z "$HADDOCK" ; then
-  AC_MSG_WARN(You need Haddock if you want developer documentation)
-fi
-
-AC_CHECK_PROG(HAPPY,happy,happy)
-if test -z "$HAPPY" ; then
-  AC_MSG_WARN(If you change or remove the parser you'll need Happy)
-fi
-
-AC_CHECK_PROG(ALEX,alex,alex)
-if test -z "$ALEX" ; then
-	AC_MSG_WARN(If you change or remove the lexer files you'll need alex)
-fi
-
-AC_CHECK_PROG(LD,ld,ld)
-if test -z "$LD" ; then
-  AC_MSG_WARN(You need ld -export-dynamic)
-fi
-
-AC_CHECK_PROG(AR,ar,ar)
-if test -z "$AR" ; then
-  AC_MSG_WARN(You need ar to build the library)
-fi
-
-AC_CHECK_PROG(RANLIB,ranlib,ranlib)
-if test -z "$RANLIB" ; then
-  AC_MSG_WARN(You need randlib to build the library)
-fi
-
-AC_CHECK_PROG(RM,rm,rm)
-if test -z "$RM" ; then
-  AC_MSG_WARN(You need rm!)
-fi
+AC_SUBST(HASKELL_SRC)
 
 AC_CHECK_PROG(TEX,tex,tex)
 if test -z "$TEX" ; then
-	AC_MSG_WARN(You'll need tex if you wish to build the documentation)
+    AC_MSG_WARN(tex is needed to build some of the documentation)
 fi
 AC_CHECK_PROG(TEX2PAGE,tex2page,tex2page)
 if test -z "$TEX2PAGE" ; then
-	AC_MSG_WARN(You'll need tex2page if you wish to build the
-		    documentation: http://www.ccs.neu.edu/home/dorai/tex2page/tex2page-doc.html)
+    AC_MSG_WARN(tex2page is needed to build some of the documentation
+		    http://www.ccs.neu.edu/home/dorai/tex2page/tex2page-doc.html)
 fi
 
-AC_CHECK_FUNC(arc4random, [SYMS="$SYMS -DHAVE_ARC4RANDOM"])
-
-AC_SUBST(SYMS)
+AC_CHECK_FUNCS(arc4random)
 
 AC_PROG_INSTALL
 
 # System.Process uses cmd or command.com shell on Windows, doen't use Cygwin or MSYS shell
-AC_CONFIG_FILES(config.mk config.h examples/makewith/io/TestIO.conf examples/makewith/unsafeio/Unsafe.conf)
-
+AC_CONFIG_FILES([config.mk testsuite/makewith/io/TestIO.conf testsuite/makewith/unsafeio/Unsafe.conf])
 AC_OUTPUT
 

Modified: packages/hs-plugins/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/debian/changelog?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/debian/changelog (original)
+++ packages/hs-plugins/trunk/debian/changelog Sun Nov 11 15:51:38 2007
@@ -1,3 +1,9 @@
+hs-plugins (1.0~rc0-1) UNRELEASED; urgency=low
+
+  * (NOT RELEASED YET) New upstream release
+
+ -- Arjan Oosting <arjan at debian.org>  Sun, 11 Nov 2007 16:48:31 +0100
+
 hs-plugins (0.9.10-3.5~pre1) UNRELEASED; urgency=low
 
   * debian/watch: uscan watch file added.

Modified: packages/hs-plugins/trunk/docs/hs-plugins.1
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/docs/hs-plugins.1?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/docs/hs-plugins.1 (original)
+++ packages/hs-plugins/trunk/docs/hs-plugins.1 Sun Nov 11 15:51:38 2007
@@ -1,4 +1,4 @@
-.TH HS-PLUGINS 1 2005-07-06 "hs-plugins version 0.9.10" "User Manual"
+.TH HS-PLUGINS 1 2005-12-27 "hs-plugins version 1.0" "User Manual"
 
 .SH NAME
 hs-plugins \- dynamic linker library for Haskell
@@ -12,7 +12,7 @@
 of eval functions.  Values exported by plugins are transparently
 available to Haskell host applications, and bindings exist to use
 Haskell plugins from at least C and Objective C programs. hs-plugins
-requires GHC 6.2.2 or later.
+requires GHC 6.4 or later.
 
 .SH DOCUMENTATION
 The hs-plugins user manual is distributed in html format, and may be
@@ -22,7 +22,7 @@
 Bug reports, and any other feedback, should be sent to
 Don Stewart <dons at cse.unsw.edu.au>
 .SH COPYRIGHT
-Copyright \(co 2004-2005 Don Stewart
+Copyright \(co 2003-2005 Don Stewart
 .PP
 The hs-plugins library modules are distributed under the terms of the
 LGPL.

Modified: packages/hs-plugins/trunk/docs/hs-plugins.tex
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/docs/hs-plugins.tex?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/docs/hs-plugins.tex (original)
+++ packages/hs-plugins/trunk/docs/hs-plugins.tex Sun Nov 11 15:51:38 2007
@@ -44,18 +44,18 @@
 \medskip
 %
 {\htmlonly \textbf{Download \endhtmlonly 
-\urlh{ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/hs-plugins-0.9.10.tar.gz}
-     {version 0.9.10}}
+\urlh{ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/hs-plugins-1.0.tar.gz}
+     {version 1.0}}
 %
 \medskip
 
 \hsplugins{} is a library for loading code written in Haskell into an
 application at runtime, in the form of plugins. It also provides a
 mechanism for (re-)compiling Haskell source at runtime. Thirdly, a
-combination of runtime compilation and dynamic loading provides a set
-of \code{eval} functions-- a form of runtime metaprogramming. Values
+combination of runtime compilation and dynamic loading provides a set of
+\code{eval} functions-- a form of runtime metaprogramming. Values
 exported by Haskell plugins are transparently available to Haskell host
-applications, and bindings exist to use Haskell plugins from at least C
+applications, and bindings exist to use Haskell dynamically in C, Perl
 and Objective C programs. \hsplugins{} requires GHC 6.4 or later.
 
 \medskip
@@ -72,7 +72,7 @@
 
 \item
 Download the latest stable release:\\
-\url{ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/hs-plugins-0.9.10.tar.gz}
+\url{ftp://ftp.cse.unsw.edu.au/pub/users/dons/hs-plugins/hs-plugins-1.0.tar.gz}
 
 \item
 Darcs repository of the latest code:\\
@@ -107,19 +107,27 @@
 \section{History}
 
 \begin{itemize}
+        \item Jan 2006, v1.0
+        \begin{itemize}
+        \item Cabalised build system
+        \item Behave better on 64 bit platforms
+        \item Haddock documentation of the API.
+        \item A couple of bug fixes
+        \end{itemize}
+
         \item June 2005, v0.9.10
         \begin{itemize}
-                \item Support for GHC 6.4, with help from Sean
-                                Seefried for the package.conf parser.
-                \item Ported to Windows of various flavours thanks to Vivian McPhail and Shelarcy
-                \item Removed posix and unix dependencies
-                \item Now uses HSX parser, thanks to Niklas Broberg
-                \item Extended load interface, thanks to Lemmih
-                \item Source now in a darcs repository
-                \item Supports building with GNU make -jN
-                \item Simplified module hierarchy, moved under System.* namespace
-                \item pdynload clarifications, thanks to Alistair Bayley 
-                \item Miscellaneous bug fixes
+        \item Support for GHC 6.4, with help from Sean
+                        Seefried for the package.conf parser.
+        \item Ported to Windows of various flavours thanks to Vivian McPhail and Shelarcy
+        \item Removed posix and unix dependencies
+        \item Now uses HSX parser, thanks to Niklas Broberg
+        \item Extended load interface, thanks to Lemmih
+        \item Source now in a darcs repository
+        \item Supports building with GNU make -jN
+        \item Simplified module hierarchy, moved under System.* namespace
+        \item pdynload clarifications, thanks to Alistair Bayley 
+        \item Miscellaneous bug fixes
         \end{itemize}
 
 	\item February 2005, v0.9.8
@@ -287,10 +295,11 @@
 the implementation of \code{eval}.
 
 The \emph{evaluator}, \code{eval}, utilizes the loader and compilation
-manager. When passed a string of Haskell code, it compiles the string to
-object code, loads the result, and returns a Haskell value representing
-the compiled string to the caller. It can be considered a Haskell
-interpreter, implemented as a library.
+manager. When passed a string containing a Haskell expression, it
+compiles the string to object code, loads the result, and returns a
+Haskell value representing the compiled string to the caller. It can be
+considered a Haskell interpreter, implemented as a library, and can be
+used to embed Haskell evaluation facilities in an application.
 
 \section{Dynamic Loader}
 
@@ -324,8 +333,8 @@
 
 \scm{
 data LoadStatus a
-        = LoadSuccess Module a 
-	| LoadFailure Errors
+    = LoadSuccess Module a 
+    | LoadFailure Errors
 }
 \end{quote}
 %
@@ -352,8 +361,7 @@
 \code{unload} or \code{reload}) with the symbol as a Haskell value. The
 value returned must be given an explicit type signature, or provided
 with appropriate type constraints such that GHC can determine the
-expected type returned by \code{load}, as the return type is notionally
-polymorphic.
+expected type returned by \code{load}.
 
 \code{load\_} is provided for the common situation where no user-defined
 package.conf files are required.
@@ -383,7 +391,6 @@
 \code{dynload} is a safer form of \code{load}. It uses dynamic types
 to perform a check on the value returned by \code{load} at runtime, to
 ensure that it has the type the application expects it to have.
-\code{pdynload} is on average 7\% slower than an unchecked load.
 
 In order to use \code{dynload}, the symbol the plugin exports must be
 of type \code{AltData.Dynamic:Dynamic}. (See the \code{AltData} library
@@ -409,8 +416,8 @@
 typechecker. This is a bit cumbersome. An alternative typesafe
 \code{load} is available via the \code{pdynload} interface, which is
 able to enforce the type of the plugin using GHC's type inference
-mechanism, and is not restricted in its expressiveness (at the cost of greater load
-times):
+mechanism, and is not restricted in its expressiveness (at the cost of
+greater load times):
 
 \begin{quote}
 \scm{
@@ -554,7 +561,7 @@
 \begin{quote}
 \scm{
 do loadPackageWith "yi" ["yi.conf"]
-   unloadPackage "yi"
+   unloadPackage "yi-0.1"
 }
 \end{quote}
 
@@ -760,12 +767,13 @@
 
 \code{eval} takes a string, and a list of import module names, and
 returns a \code{Maybe} value. \code{Nothing} means the code did not
-compile. \code{Just v} gives you \code{v}, the result of evaluating
-your code. It is interesting to note that \code{eval} has the type of
-an interpreter. The \code{Typeable} constraint is used to type check
-the evaluated code when it is loaded, using \code{dynload}. 
-As usual, \code{eval\_} is a version of \code{eval} that lets you pass
-extra flags to ghc and to the dynamic loader.
+compile, or did not typecheck at its splice point. \code{Just v} gives
+you \code{v}, the result of evaluating your code. It is interesting to
+note that \code{eval} has the type of an interpreter. The
+\code{Typeable} constraint is used to type check the evaluated code when
+it is loaded, using \code{dynload}.  As usual, \code{eval\_} is a
+version of \code{eval} that lets you pass extra flags to ghc and to the
+dynamic loader.
 
 The existing \code{Data.Dynamic} library requires that only monomorphic
 values are \code{Typeable}, so in order to evaluate polymorphic
@@ -894,64 +902,59 @@
 }
 \end{quote}
 \end{itemize}
-\subsection{Foreign Eval}
-
-A preliminary binding to \code{eval} has been implemented to allow C
-(and Objective C) programs access to the evaluator. Foreign bindings
-to the compilation manager and dynamic loader are yet to be
-implemented, but shouldn't be too hard. An foreign binding to a
-Haskell module that wraps up calls to \code{make} and \code{load}
-would be fairly trivial.
- 
-At the moment we have an ad-hoc binding to \code{eval}, so that C
-programmers who know the type of value that will be returned by
-Haskell can call the appropriate hook into the evaluator. If they get
-the type wrong, a nullPtr will be returned (so calling Haskell is
-still typesafe). The foreign bindings to \code{eval} all return
-\code{NULL} if an error occurred, otherwise a pointer to the value is
-returned.
-
-\begin{quote}
-\scm{
-foreign export ccall hs_eval_b :: CString -> IO (Ptr CInt)
-
-foreign export ccall hs_eval_c :: CString -> IO (Ptr CChar)
-  
-foreign export ccall hs_eval_i :: CString -> IO (Ptr CInt)
-
-foreign export ccall hs_eval_s :: CString -> IO CString
-}
-\end{quote}
-
-An example C program for compiling and evaluating Haskell code at
-runtime follows. This program calculates a fibonacci number, returning
-it as a \code{CString} to the C program:
-%
-\begin{quote}
-\begin{verbatim}
-#include "EvalHaskell.h"
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-  char *p;
-  hs_init(&argc, &argv);
-  p = hs_eval_s("show $ let fibs = 1:1:zipWith (+) fibs (tail fibs) in fibs !! 20");
-  if (p != NULL)
-     printf("%s\n",p);
-  else
-     printf("error in code\n");
-  hs_exit();
-  return 0;
-}
-\end{verbatim}
-\end{quote}
-
-\subsection{Notes}
-
-Be careful if you're calling eval from a forked thread. This can
-introduce races between the thread and the forked process used by eval
-to compile its code.
+% \subsection{Foreign Eval}
+% 
+% A preliminary binding to \code{eval} has been implemented to allow C
+% (and Objective C) programs access to the evaluator. Foreign bindings
+% to the compilation manager and dynamic loader are yet to be
+% implemented, but shouldn't be too hard. An foreign binding to a
+% Haskell module that wraps up calls to \code{make} and \code{load}
+% would be fairly trivial.
+%  
+% At the moment we have an ad-hoc binding to \code{eval}, so that C
+% programmers who know the type of value that will be returned by
+% Haskell can call the appropriate hook into the evaluator. If they get
+% the type wrong, a nullPtr will be returned (so calling Haskell is
+% still typesafe). The foreign bindings to \code{eval} all return
+% \code{NULL} if an error occurred, otherwise a pointer to the value is
+% returned.
+% 
+% \begin{quote}
+% \scm{
+% foreign export ccall hs_eval_b :: CString -> IO (Ptr CInt)
+% 
+% foreign export ccall hs_eval_c :: CString -> IO (Ptr CChar)
+%   
+% foreign export ccall hs_eval_i :: CString -> IO (Ptr CInt)
+% 
+% foreign export ccall hs_eval_s :: CString -> IO CString
+% }
+% \end{quote}
+% 
+% An example C program for compiling and evaluating Haskell code at
+% runtime follows. This program calculates a fibonacci number, returning
+% it as a \code{CString} to the C program:
+% %
+% \begin{quote}
+% \begin{verbatim}
+% #include "EvalHaskell.h"
+% #include <stdio.h>
+% 
+% int main(int argc, char *argv[])
+% {
+%   char *p;
+%   hs_init(&argc, &argv);
+%   p = hs_eval_s("show $ let fibs = 1:1:zipWith (+) fibs (tail fibs) in fibs !! 20");
+%   if (p != NULL)
+%      printf("%s\n",p);
+%   else
+%      printf("error in code\n");
+%   hs_exit();
+%   return 0;
+% }
+% \end{verbatim}
+% \end{quote}
+% 
 
 \section{RTS Binding}
 
@@ -1656,7 +1659,7 @@
 
 \begin{quote}
 
-Copyright 2004, Don Stewart - \url{http://www.cse.unsw.edu.au/~dons}
+Copyright 2003-5, Don Stewart - \url{http://www.cse.unsw.edu.au/~dons}
 
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public

Modified: packages/hs-plugins/trunk/scripts/mkrelease.sh
URL: http://svn.debian.org/wsvn/pkg-haskell/packages/hs-plugins/trunk/scripts/mkrelease.sh?rev=794&op=diff
==============================================================================
--- packages/hs-plugins/trunk/scripts/mkrelease.sh (original)
+++ packages/hs-plugins/trunk/scripts/mkrelease.sh Sun Nov 11 15:51:38 2007
@@ -3,7 +3,7 @@
 cd /tmp
 rm -rf hs-plugins-0.9.10*
 
-darcs get --set-scripts-executable /home/dons/hs-plugins
+darcs get --partial --set-scripts-executable /home/dons/hs-plugins
 cd hs-plugins
 rm -rf _darcs
 cd ..




More information about the Pkg-haskell-commits mailing list