Imported Debian patch 110.74-1 debian/110.74-1
authorJames McCoy <jamessan@debian.org>
Sun, 19 Feb 2012 03:46:38 +0000 (22:46 -0500)
committerClinton Ebadi <clinton@unknownlamer.org>
Thu, 14 Jun 2012 05:31:31 +0000 (01:31 -0400)
79 files changed:
debian/README.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/deregister [new file with mode: 0644]
debian/libckit-smlnj.doc-base [new file with mode: 0644]
debian/libckit-smlnj.docs [new file with mode: 0644]
debian/libckit-smlnj.install [new file with mode: 0644]
debian/libcml-smlnj.docs [new file with mode: 0644]
debian/libcml-smlnj.install [new file with mode: 0644]
debian/libcmlutil-smlnj.install [new file with mode: 0644]
debian/libexene-smlnj.docs [new file with mode: 0644]
debian/libexene-smlnj.examples [new file with mode: 0644]
debian/libexene-smlnj.install [new file with mode: 0644]
debian/libmlnlffi-smlnj.docs [new file with mode: 0644]
debian/libmlnlffi-smlnj.examples [new file with mode: 0644]
debian/libmlnlffi-smlnj.install [new file with mode: 0644]
debian/libmlrisctools-smlnj.install [new file with mode: 0644]
debian/libpgraphutil-smlnj.install [new file with mode: 0644]
debian/libsmlnj-smlnj.docs [new file with mode: 0644]
debian/libsmlnj-smlnj.install [new file with mode: 0644]
debian/mkorig [new file with mode: 0644]
debian/ml-antlr.1 [new file with mode: 0644]
debian/ml-build.1 [new file with mode: 0644]
debian/ml-burg.1 [new file with mode: 0644]
debian/ml-burg.examples [new file with mode: 0644]
debian/ml-burg.install [new file with mode: 0644]
debian/ml-burg.manpages [new file with mode: 0644]
debian/ml-lex.1 [new file with mode: 0644]
debian/ml-lex.docs [new file with mode: 0644]
debian/ml-lex.install [new file with mode: 0644]
debian/ml-lex.manpages [new file with mode: 0644]
debian/ml-lpt.docs [new file with mode: 0644]
debian/ml-lpt.install [new file with mode: 0644]
debian/ml-lpt.manpages [new file with mode: 0644]
debian/ml-makedepend.1 [new file with mode: 0644]
debian/ml-nlffigen.1 [new file with mode: 0644]
debian/ml-nlffigen.docs [new file with mode: 0644]
debian/ml-nlffigen.install [new file with mode: 0644]
debian/ml-nlffigen.manpages [new file with mode: 0644]
debian/ml-ulex.1 [new file with mode: 0644]
debian/ml-yacc.1 [new file with mode: 0644]
debian/ml-yacc.docs [new file with mode: 0644]
debian/ml-yacc.examples [new file with mode: 0644]
debian/ml-yacc.install [new file with mode: 0644]
debian/ml-yacc.manpages [new file with mode: 0644]
debian/nowhere.1 [new file with mode: 0644]
debian/nowhere.docs [new file with mode: 0644]
debian/nowhere.install [new file with mode: 0644]
debian/nowhere.manpages [new file with mode: 0644]
debian/patches/use-psfig-not-epsfig.diff [new file with mode: 0644]
debian/pkg-deregister [new file with mode: 0644]
debian/pkg-register [new file with mode: 0644]
debian/postinst.in [new file with mode: 0644]
debian/prerm.in [new file with mode: 0644]
debian/register [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/sml.1 [new file with mode: 0644]
debian/smlnj-doc.doc-base.ml-lpt [new file with mode: 0644]
debian/smlnj-doc.doc-base.mlrisc [new file with mode: 0644]
debian/smlnj-doc.doc-base.mltex [new file with mode: 0644]
debian/smlnj-doc.doc-base.nlffi [new file with mode: 0644]
debian/smlnj-doc.doc-base.nowhere [new file with mode: 0644]
debian/smlnj-doc.doc-base.smlnjcm [new file with mode: 0644]
debian/smlnj-doc.docs [new file with mode: 0644]
debian/smlnj-doc.install [new file with mode: 0644]
debian/smlnj-runtime.dirs [new file with mode: 0644]
debian/smlnj-runtime.install [new file with mode: 0644]
debian/smlnj-runtime.postinst [new file with mode: 0644]
debian/smlnj-runtime.postrm [new file with mode: 0644]
debian/smlnj-runtime.prerm [new file with mode: 0644]
debian/smlnj.docs [new file with mode: 0644]
debian/smlnj.install [new file with mode: 0644]
debian/smlnj.manpages [new file with mode: 0644]
debian/source/format [new file with mode: 0644]
debian/targets [new file with mode: 0644]
debian/watch [new file with mode: 0644]
debian/wrapper.in [new file with mode: 0644]

diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..476dd80
--- /dev/null
@@ -0,0 +1,66 @@
+Creating Upstream Tarball
+-------------------------
+
+The upstream maintainers distribute SML/NJ as a collection of
+tarballs. This source package requires all of them, so the Debian orig
+tar file contains all the upstream tarballs placed where the upstream
+install.sh script expects them to be unpacked.
+
+For example:
+
+    smlnj-110.x.orig/ckit.tgz
+    smlnj-110.x.orig/config.tgz
+    smlnj-110.x.orig/src/MLRISC.tgz
+    smlnj-110.x.orig/src/cm.tgz
+    smlnj-110.x.orig/src/cml.tgz
+    smlnj-110.x.orig/src/compiler.tgz
+    smlnj-110.x.orig/src/eXene.tgz
+    smlnj-110.x.orig/src/ml-burg.tgz
+    smlnj-110.x.orig/src/ml-lex.tgz
+    smlnj-110.x.orig/src/ml-nlffi-lib.tgz
+    smlnj-110.x.orig/src/ml-nlffigen.tgz
+    smlnj-110.x.orig/src/ml-yacc.tgz
+    smlnj-110.x.orig/src/runtime.tgz
+    smlnj-110.x.orig/src/smlnj-c.tgz
+    smlnj-110.x.orig/src/smlnj-lib.tgz
+    smlnj-110.x.orig/src/system.tgz
+    smlnj-110.x.orig/src/tools.tgz
+
+The upstream boot images, used to create the bootstrap compiler are
+kept in the bootstrap directory, like this:
+
+    smlnj-110.x.orig/bootstrap/boot.alpha32-unix.tgz
+    smlnj-110.x.orig/bootstrap/boot.hppa-unix.tgz
+    smlnj-110.x.orig/bootstrap/boot.mipseb-unix.tgz
+    smlnj-110.x.orig/bootstrap/boot.ppc-unix.tgz
+    smlnj-110.x.orig/bootstrap/boot.sparc-unix.tgz
+    smlnj-110.x.orig/bootstrap/boot.x86-unix.tgz
+
+Use the mkorig script in this directory to create the upstream tarball
+as used by Debian. Support for the mkorig script has now been
+integrated into the debian/watch file. Just calling "uscan" will now
+automatically build a new tarball, if a new upstream version is
+available. You will need to manually make the mkorig script executable:
+
+$ chmod +x debian/mkorig
+$ uscan --verbose
+
+You can still call mkorig manually, although the syntax is a bit
+different:
+
+$ mkorig --upstream-version 110.53
+
+SML/NJ for amd64 architecture
+-----------------------------
+
+This version of the smlnj package for the amd64 architecture has i386
+binaries in it.  As the upstream says it:
+    # As long as we do not natively support the amd64 architecture,
+    # we should fallback to the x86 compatibility mode.  --Stef
+      x86_64) ARCH=x86;;
+
+Building packages at all for amd64 is arguably broken under these
+circumstances, but it still seemed like the better option.  As long as
+you're aware of this.
+
+ -- Daniel Moerner <dmoerner@gmail.com>, Fri, 16 Oct 2009 01:01:37 -0700
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..a19d053
--- /dev/null
@@ -0,0 +1,268 @@
+smlnj (110.74-1) unstable; urgency=low
+
+  * New upstream release.
+    + Fixes building on 3.x kernels.
+  * Remove sparc from Architecture list.
+
+ -- James McCoy <jamessan@debian.org>  Sat, 18 Feb 2012 22:46:38 -0500
+
+smlnj (110.73-2) unstable; urgency=low
+
+  * Only set {build,binary}-arch as a prerequisite for the {build,binary}
+    targets.
+
+ -- James McCoy <jamessan@debian.org>  Fri, 20 Jan 2012 18:00:42 -0500
+
+smlnj (110.73-1) unstable; urgency=low
+
+  * New upstream version.
+  * Use DEB_BUILD_OPTIONS=nodoc to disable building of documentation.
+  * Declare source format 1.0
+  * Lintian fixes:
+    + Remove HISTORY from libckit-smlnj.docs, already installed as upstream
+      changelog.
+    + Remove leading article from libckit-smlnj's short description.
+
+ -- James McCoy <jamessan@debian.org>  Wed, 18 Jan 2012 20:33:37 -0500
+
+smlnj (110.72-1) unstable; urgency=low
+
+  * New upstream release.
+    - Upstream has integrated a patch I forwarded to remove bashisms.
+      (Closes: #530119)
+  * Switch to debhelper compat level 7.
+  * debian/control:
+    - Replace obsolete tetex-extra with texlive-latex-extra in
+      Build-Depends-Indep. (Closes: #562359)
+    - Remove dvipdfmx from Build-Depends-Indep (superfluous).
+    - Remove dvi2ps from Build-Depends-Indep (in texlive-binaries)
+    - New maintainer (Closes: #428273)
+    - Update to Debian Policy 3.8.4.
+    - Move smlnj-doc to Section: doc to follow Debian override file.
+    - Remove duplicate words from descriptions
+    - Expand and correct short and long descriptions for almost all
+      shipped packages. (Closes: #493601)
+    - Renable sparc in Architecture line.
+    - Add ${misc:Depends} to binary packages for debhelper.
+  * debian/dirs: Deleted, superfluous file.
+  * debian/libckit-smlnj.doc-base: Added doc-base registration.
+  * debian/{libmlnlffi-smlnj,ml-lpt}.docs: Don't ship pdf documentation in
+    these packages; it is already shipped in smlnj-doc.
+  * debian/mkorig: Modified script so it can be called automatically by
+    uscan.
+  * debian/{ml-ulex.1,ml-antlr.1,ml-lpt.manpages}: Add missing manpages for
+    these two binaries.
+  * debian/README.Debian: Updated to reflect changes to debian/mkorig.
+  * debian/rules:
+    - Add dh_installchangelog calls for libckit-smlnj.
+    - Update to reflect namechange of templates in debian directory.
+    - Use dh_prep instead of dh_clean -k.
+    - Switch to separate unpack-source target and update .PHONY.
+  * debian/smlnj.docs: Don't ship latex source in binary.
+  * debian/smlnj-doc.doc-base.*: Register all documentation in smlnj-doc
+    with doc-base.
+  * debian/smlnj-doc.prerm: Remove this file; it was needed to fix a bug
+    related to upgrades from smlnj-doc_110.67-3. This version predates Lenny
+    and was never in a release of Debian stable.
+  * debian/watch: Added commented watch file which calls debian/mkorig.
+  * debian/{_wrapper,_postinst,_prerm}: Rename templates to filename.in.
+  * debian/patches/use-psfig-not-epsfig.diff: SML/NJ's documentation still
+    includes deprecated calls to psfig.sty, which has been removed from
+    Debian. This patch uses the wrapper epsfig.sty. Long term, upstream
+    has been encouraged to port SML/NJ to use the graphicx package.
+  
+ -- Daniel Moerner <dmoerner@gmail.com>  Wed, 24 Feb 2010 02:53:56 -0800
+
+smlnj (110.69-1) unstable; urgency=low
+
+  * Orphaned package.
+  * New upstream release.
+  * Standards-Version 3.8.1 (no changes necessary).
+  * Use 110.68's bootstrap images instead of 110.69's.
+
+ -- Kari Pahula <kaol@debian.org>  Sat, 06 Jun 2009 14:54:02 +0300
+
+smlnj (110.67-4) unstable; urgency=low
+
+  * Don't create postinst/prerm scripts that would try to register
+    smlnj-doc as a library.  (Closes: #502752)
+
+ -- Kari Pahula <kaol@debian.org>  Sun, 19 Oct 2008 20:04:36 +0300
+
+smlnj (110.67-3) unstable; urgency=high
+
+  * Fixed an FTBFS due to missing ghostscript dependency in
+    Build-Depends-Indep (transfig only Recommends it) (Closes: #486957)
+  * Actually put something in smlnj-doc's long description. (Closes: #487199)
+
+ -- Kari Pahula <kaol@debian.org>  Wed, 02 Jul 2008 10:56:31 +0300
+
+smlnj (110.67-2) unstable; urgency=low
+
+  * Fixed an FTBFS due to a faulty check on whether Build-Depends-Indep
+    were installed.
+
+ -- Kari Pahula <kaol@debian.org>  Mon, 09 Jun 2008 22:44:50 +0300
+
+smlnj (110.67-1) unstable; urgency=low
+
+  * New upstream release
+  * Fixed typo ml-antrl -> ml-antlr in ml-lpt's description (Closes: #442949)
+  * Set homepage field in debian/control.
+  * Built some more documentation and set up smlnj-doc package for them.
+  * Added amd64 as an architecture, using gcc-multilib emulation layer.
+  * Don't even try to build on sparc.
+
+ -- Kari Pahula <kaol@debian.org>  Sat, 24 May 2008 22:11:34 +0300
+
+smlnj (110.65-1) unstable; urgency=low
+
+  * New upstream release
+  * Added package ml-lpt (Closes: #417906)
+  * Install smlnj's changelog (Closes: #412040)
+  * smlnj now Recommends libsmlnj-smlnj
+
+ -- Kari Pahula <kaol@debian.org>  Mon, 06 Aug 2007 07:17:09 +0300
+
+smlnj (110.62-1) unstable; urgency=low
+
+  * New upstream release
+  * Set architecture to i386 sparc powerpc
+  * Removed the broken hack to add symlinks to modules in the library dir
+  * Install base pathconfig rules to smlnj-runtime package (Closes: #409714)
+  * Added -f to rm /usr/lib/smlnj/lib/pathconfig in smlnj-runtime's postrm
+
+ -- Kari Pahula <kaol@debian.org>  Thu, 22 Feb 2007 12:46:17 +0200
+
+smlnj (110.60-1) experimental; urgency=low
+
+  * New release (Closes: #283407, #375537)
+  * New maintainer (Closes: #319801)
+  * Make sure that the build path doesn't get in the run and link scripts
+    (Closes: #329875)
+  * Changed the Debian build scripts to take the new 110.60 directory
+    layout into account
+  * Install some more documents and examples
+  * Make sure that /usr/bin/sml finds the modules from the directories
+    where it expects to.
+  
+    [Aaron Matthew Read]
+  * Bootstraps from an included image. (Closes: #308877, #362445)
+  * Purges itself cleanly now. (Closes: #328486)
+
+ -- Kari Pahula <kaol@debian.org>  Fri, 24 Nov 2006 00:17:57 +0200
+
+smlnj (110.54-1) unstable; urgency=low
+
+  * Upstream release of 110.54.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Sun, 12 Jun 2005 17:51:24 -0700
+
+smlnj (110.53-1) unstable; urgency=low
+
+  * Upstream release of 110.53. closes:#283407
+  * Supply bootstrap images as part of the source package. Use these
+    images to bootstrap the build, rather than an installed
+    compiler. closes:#308877
+
+ -- Aaron Matthew Read <amread@nyx.net>  Fri, 13 May 2005 14:28:36 -0700
+
+smlnj (110.52-1) unstable; urgency=low
+
+  * Upstream release of 110.52.
+  * arch-n-opsys recognizes x86_64. closes: #286817
+
+ -- Aaron Matthew Read <amread@nyx.net>  Wed, 22 Dec 2004 12:25:57 -0800
+
+smlnj (110.51-1) unstable; urgency=low
+
+  * Upstream release of 110.51. closes:#283407
+
+ -- Aaron Matthew Read <amread@nyx.net>  Sun, 28 Nov 2004 15:12:55 -0800
+
+smlnj (110.50-1) unstable; urgency=low
+
+  * Upstream release of 110.50.
+  * Better short descriptions. closes:#277432, #276839
+
+ -- Aaron Matthew Read <amread@nyx.net>  Fri, 29 Oct 2004 11:26:58 -0700
+
+smlnj (110.49-1) unstable; urgency=low
+
+  * Upstream release of 110.49.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Wed, 15 Sep 2004 11:27:40 -0700
+
+smlnj (110.48-3) unstable; urgency=low
+
+  * Include scripts to maintain the pathconfig file.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Mon, 13 Sep 2004 00:10:15 -0700
+
+smlnj (110.48-2) unstable; urgency=low
+
+  * Include documentation and examples.
+  * Upstream made Option an alias for Option.Option. closes:#184125
+
+ -- Aaron Matthew Read <amread@nyx.net>  Thu,  9 Sep 2004 19:04:18 -0700
+
+smlnj (110.48-1) unstable; urgency=low
+
+  * Upstream release of 110.48.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Thu,  12 Aug 2004 11:30:52 -0700
+
+smlnj (110.47-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Sat,  7 Aug 2004 16:49:52 -0700
+
+smlnj (110.46-2) unstable; urgency=low
+
+  * Added new binary packages: libpgraph-smlnj, libcml-smlnj, libcmlutil-smlnj,
+    libexene-smlnj, libckit-smlnj, libmlnlffi-smlnj, ml-nlffigen,
+    libmlrisctools-smlnj, nowhere. closes:#186538
+
+ -- Aaron Matthew Read <amread@nyx.net>  Wed, 21 Jul 2004 00:57:39 -0700
+
+smlnj (110.46-1) unstable; urgency=low
+
+  * New upstream release.
+  * New packaging using debhelper.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Sun, 18 Jul 2004 19:18:01 -0700
+
+smlnj-runtime (110.45-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Sun,  7 Mar 2004 15:51:54 -0800
+
+smlnj-runtime (110.44-2) unstable; urgency=low
+
+  * Bug fix: postinst script fails if /usr/local is mounted read-only,
+    thanks to Laurent Bonnaud. closes:#228708
+
+ -- Aaron Matthew Read <amread@nyx.net>  Tue, 20 Jan 2004 11:16:42 -0800
+
+smlnj-runtime (110.44-1) unstable; urgency=low
+
+  * New upstream release.
+  * smlnj-runtime: hppa port. closes:Bug#199328
+
+ -- Aaron Matthew Read <amread@nyx.net>  Tue,  9 Dec 2003 00:19:27 -0800
+
+smlnj-runtime (110.42-2) unstable; urgency=low
+
+  * Fixed compile problem with new C Preprocessor. closes:Bug#195036
+
+ -- Aaron Matthew Read <amread@nyx.net>  Wed, 28 May 2003 21:02:32 -0700
+
+smlnj-runtime (110.42-1) unstable; urgency=low
+
+  * Split compiler, tools, and runtime system into separate packages.
+    This way, applications written in SML will depend only on the (small)
+    smlnj-runtime package.
+
+ -- Aaron Matthew Read <amread@nyx.net>  Tue, 14 Jan 2003 20:18:39 -0800
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..7e1f4f8
--- /dev/null
@@ -0,0 +1,202 @@
+Source: smlnj
+Section: devel
+Priority: optional
+Maintainer: James McCoy <jamessan@debian.org>
+Build-Depends: debhelper (>= 7), gcc-multilib [amd64]
+Build-Depends-Indep: texlive-latex-base, texlive-pictures, texlive-math-extra, texlive-latex-recommended, transfig, texlive-generic-extra, texlive-latex-extra, ghostscript, texlive-binaries
+Standards-Version: 3.8.4
+Homepage: http://www.smlnj.org/
+
+Package: smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
+Replaces: sml-nj
+Recommends: libsmlnj-smlnj
+Suggests: smlnj-doc
+Description: Standard ML of New Jersey interactive compiler
+ SML/NJ is an implementation of the Standard ML programming language.
+ Standard ML has many features, including type safety, polymorphism,
+ algebraic data types with pattern matching, higher-order functions,
+ and a sophisticated module system. It is especially well-suited for
+ writing compilers and other language processors.
+ .
+ This package includes the interactive compiler (sml), the compilation
+ manager (CM), and some essential libraries.  It is a "working"
+ version, but believed to be stable.
+ .
+ Install this package if you want to program in SML.
+
+Package: smlnj-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}
+Suggests: smlnj
+Description: Documentation for Standard ML of New Jersey
+ This package contains various documentation for SML/NJ, an
+ implementation of the Standard ML programming language.
+ .
+ More documentation can be found on the web site.
+
+Package: smlnj-runtime
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Standard ML of New Jersey runtime system
+ SML/NJ is an implementation of the Standard ML programming language.
+ This package includes the runtime system only -- it provides garbage
+ collection and other support for compiled SML programs.
+ .
+ Install this package if you want to run programs compiled with SML/NJ.
+
+Package: libsmlnj-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: Useful libraries for Standard ML of New Jersey
+ A library for SML, including:
+  * Util        A general utility library.
+  * Controls    A library of support code for managing application controls.
+  * HashCons    A library supporting hash-consing of data structures and
+                efficient sets and maps using hash-consed keys.
+  * HTML        Provides parsing and pretty printing of HTML.
+  * INet        Networking utilities.
+  * PP          Pretty-printing library.
+  * Reactive    A low-level reactive scripting library.
+  * RegExp      Regular-expression library.
+  * Unix        A set of unix specific utilities.
+
+Package: ml-lex
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
+Description: Lexical analyzer generator for Standard ML
+ Lexical analysis is the problem of segmenting input into words and
+ recognizing different classes of words.  ml-lex uses regular
+ expressions to describe classes of words.  It transforms a simple
+ declarative language specification into an efficient SML program for
+ analyzing that language.
+ .
+ Install this package if you want to produce a lexer in Standard ML.
+
+Package: ml-yacc
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj-runtime (= ${binary:Version})
+Description: Parser generator for Standard ML
+ SML version of the yacc program, generates a parser for a LALR language.
+ This package is useful for SML developers requiring a parser in their
+ work.
+
+Package: ml-burg
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, ml-lex (= ${binary:Version})
+Description: Code generator generator for Standard ML
+ ml-burg generates a Standard ML program to perform bottom-up
+ rewriting of an input tree.  Cost information associated with each
+ rewrite rule is used to derive the minimum rewrite cost for the
+ entire tree.  A successful reduction corresponds to rewriting the
+ input tree to a special non-terminal symbol called the "start"
+ non-terminal.  Upon successful reduction, facilities are provided to
+ walk the tree emitting semantic actions corresponding to the rules
+ that matched.
+ .
+ Install this package if you want to write a compiler in SML using a
+ burg specification.
+
+Package: libpgraphutil-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: Portable graph utility library for SML Compilation Manager
+ Utility routines for use with portable dependency graphs. This
+ package contains support to build list-of-edges dependency graphs and
+ convert them back into valid SML code.
+
+Package: libcml-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version})
+Description: Concurrent ML extension of SML
+ An SML library for message-passing concurrency. This library adds
+ threading support to SML. Each thread is then manually executed by
+ running a separate function, rather than being called directly by the
+ top-level SML loop.
+
+Package: libcmlutil-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version})
+Description: Concurrent ML utility library
+ Not all modules in the normal SML/NJ library are thread safe. This
+ library provides thread-safe implementations of these
+ libraries.
+
+Package: libexene-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libcml-smlnj (= ${binary:Version}), libcmlutil-smlnj (= ${binary:Version})
+Description: Concurrent ML library for the X Window System
+ A multi-threaded X Window System toolkit written in Concurrent
+ ML. Many other windowing toolkits, such as Xlib, register separate
+ functions that are called by a centralized event processing loop. In
+ contrast, eXene maintains each window and graphical object in a
+ separate thread that has the ability to update itself.
+
+Package: libckit-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: SML library for parsing and type-checking C programs
+ ckit is a C front end written in SML that translates C source code (after
+ preprocessing) into abstract syntax represented as a set of SML datatypes.
+ It also provides facilities for extending the C language with additional
+ syntactic constructs, which can be useful for implementing "C-like"
+ domain-specific languages as well as C dialects.
+
+Package: libmlnlffi-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Recommends: ml-nlffigen
+Description: No Longer Foreign Function Interface
+ Allows ML programs to inspect and manipulate C data structures
+ directly. This is implemented through three separate libraries, one
+ that provides a user-code accessible frontend, one that
+ implements this, and another that handles low-level raw memory
+ access.
+
+Package: ml-nlffigen
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libsmlnj-smlnj (= ${binary:Version}), libckit-smlnj (= ${binary:Version})
+Description: ML generator for C glue code
+ This tool reads in C source code and outputs ML code and a CM
+ description file for use with the ML "No Longer Foreign Function
+ Interface" library. This tool works by separating each top-level C
+ declaration into a new ML source file. For large programs, this
+ puts some strain on the SML Compilation Manager, but this should only
+ marginally increase the program run-time.
+
+Package: libmlrisctools-smlnj
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Description: Library for generating MLRISC modules
+ The MLRISC system allows an easy way to create a back-end to convert
+ SML into machine code. These tools provide an easy way to generate
+ MLRISC modules from machine descriptions.
+
+Package: nowhere
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, libmlrisctools-smlnj (= ${binary:Version})
+Description: Translates programs from an extended Standard ML to Standard ML
+ This is a source-to-source translation tool that expands case
+ expressions that use conditional patterns. Conditional patterns that
+ use the "where" keyword are converted into SML.
+
+Package: ml-lpt
+Architecture: i386 amd64 powerpc
+Depends: ${misc:Depends}, smlnj (= ${binary:Version})
+Provides: ml-ulex, ml-antlr
+Description: SML/NJ language processing tools
+ Tradition has it that when a new programming language is introduced,
+ new scanner and parser generators are written in that language, and
+ generate code for that language.  Traditional also has it that the
+ new tools are modeled after the old lex and yacc tools, both in terms
+ of the algorithms used, and often the syntax as well.  The language
+ Standard ML is no exception: ml-lex and ml-yacc are the SML
+ incarnations of the old Unix tools.
+ .
+ This package has two new tools, ml-ulex and ml-antlr, that follow
+ tradition in separating scanning from parsing, but break from
+ tradition in their implementation: ml-ulex is based on regular
+ expression derivatives rather than subset-construction, and ml-antlr
+ is based on LL(k) parsing rather than LALR(1) parsing.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..c7ef2cf
--- /dev/null
@@ -0,0 +1,40 @@
+This package was debianized by Aaron Matthew Read <amread@nyx.net> on
+Fri, 25 Oct 2002 16:54:10 -0800.
+
+It was downloaded from http://smlnj.cs.uchicago.edu/dist/working
+
+Upstream Authors: The SML/NJ Team <smlnj-dev-list@lists.sourceforge.net>
+
+Copyright:     2003-2008       The SML/NJ Fellowship
+               1989-2002       Lucent Technologies
+               1991-2003       John Reppy
+               1996-1998,2000  YALE FLINT PROJECT
+               1992            Vrije Universiteit, The Netherlands
+               1989-1992       Andrew W. Appel, James S. Mattson, David R. Tarditi
+               1988            Evans & Sutherland Computer Corporation, Salt Lake City, Utah
+
+STANDARD ML OF NEW JERSEY COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+Copyright (c) 1989-2002 by Lucent Technologies
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both the copyright notice and this permission notice and warranty
+disclaimer appear in supporting documentation, and that the name of
+Lucent Technologies, Bell Labs or any Lucent entity not be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission.
+
+Lucent disclaims all warranties with regard to this software,
+including all implied warranties of merchantability and fitness. In no
+event shall Lucent be liable for any special, indirect or
+consequential damages or any damages whatsoever resulting from loss of
+use, data or profits, whether in an action of contract, negligence or
+other tortious action, arising out of or in connection with the use
+or performance of this software.
+
+
+The SML/NJ distribution also includes code licensed under the same
+terms as above, but with "David R. Tarditi Jr. and Andrew W. Appel",
+"Vrije Universiteit" or "Evans & Sutherland" instead of "Lucent".
diff --git a/debian/deregister b/debian/deregister
new file mode 100644 (file)
index 0000000..af97ed2
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+if [ $# -ne 1 ] ; then
+    echo "usage: deregister name"
+    exit 1
+fi
+
+name=$1
+
+sed -i -e "/^$name /d" /usr/lib/smlnj/lib/pathconfig
diff --git a/debian/libckit-smlnj.doc-base b/debian/libckit-smlnj.doc-base
new file mode 100644 (file)
index 0000000..6388b75
--- /dev/null
@@ -0,0 +1,9 @@
+Document: libckit-smlnj
+Title: ckit - A Front End for C in SML
+Author: Dave MacQueen
+Abstract: An overview describing the use of ckit as a C front end.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libckit-smlnj/doc/overview.html
+Files: /usr/share/doc/libckit-smlnj/doc/overview.html
diff --git a/debian/libckit-smlnj.docs b/debian/libckit-smlnj.docs
new file mode 100644 (file)
index 0000000..a8ea475
--- /dev/null
@@ -0,0 +1,3 @@
+ckit/BUGS
+ckit/README
+ckit/doc/
diff --git a/debian/libckit-smlnj.install b/debian/libckit-smlnj.install
new file mode 100644 (file)
index 0000000..7461a18
--- /dev/null
@@ -0,0 +1 @@
+lib/ckit-lib.cm usr/lib/smlnj/lib
diff --git a/debian/libcml-smlnj.docs b/debian/libcml-smlnj.docs
new file mode 100644 (file)
index 0000000..945b0bf
--- /dev/null
@@ -0,0 +1,3 @@
+cml/README
+cml/TODO
+cml/doc/
diff --git a/debian/libcml-smlnj.install b/debian/libcml-smlnj.install
new file mode 100644 (file)
index 0000000..9ca0d71
--- /dev/null
@@ -0,0 +1 @@
+lib/cml usr/lib/smlnj/lib
diff --git a/debian/libcmlutil-smlnj.install b/debian/libcmlutil-smlnj.install
new file mode 100644 (file)
index 0000000..886f958
--- /dev/null
@@ -0,0 +1 @@
+lib/cml-lib usr/lib/smlnj/lib
diff --git a/debian/libexene-smlnj.docs b/debian/libexene-smlnj.docs
new file mode 100644 (file)
index 0000000..5a04d2f
--- /dev/null
@@ -0,0 +1,3 @@
+eXene/README
+eXene/README-0.5
+eXene/README-1.0
diff --git a/debian/libexene-smlnj.examples b/debian/libexene-smlnj.examples
new file mode 100644 (file)
index 0000000..acc3196
--- /dev/null
@@ -0,0 +1,2 @@
+eXene/examples/*
+eXene/demos/tactic-tree/
diff --git a/debian/libexene-smlnj.install b/debian/libexene-smlnj.install
new file mode 100644 (file)
index 0000000..6b804d0
--- /dev/null
@@ -0,0 +1 @@
+lib/eXene.cm usr/lib/smlnj/lib
diff --git a/debian/libmlnlffi-smlnj.docs b/debian/libmlnlffi-smlnj.docs
new file mode 100644 (file)
index 0000000..a7a9acf
--- /dev/null
@@ -0,0 +1,2 @@
+nlffi/lib/Doc/mini-tutorial.txt
+nlffi/lib/README
diff --git a/debian/libmlnlffi-smlnj.examples b/debian/libmlnlffi-smlnj.examples
new file mode 100644 (file)
index 0000000..df991c3
--- /dev/null
@@ -0,0 +1 @@
+nlffi/lib/Tests
diff --git a/debian/libmlnlffi-smlnj.install b/debian/libmlnlffi-smlnj.install
new file mode 100644 (file)
index 0000000..798ad04
--- /dev/null
@@ -0,0 +1 @@
+lib/c usr/lib/smlnj/lib
diff --git a/debian/libmlrisctools-smlnj.install b/debian/libmlrisctools-smlnj.install
new file mode 100644 (file)
index 0000000..96bcc31
--- /dev/null
@@ -0,0 +1 @@
+lib/mlrisc-tools usr/lib/smlnj/lib
diff --git a/debian/libpgraphutil-smlnj.install b/debian/libpgraphutil-smlnj.install
new file mode 100644 (file)
index 0000000..9342fab
--- /dev/null
@@ -0,0 +1 @@
+lib/pgraph-util.cm usr/lib/smlnj/lib
diff --git a/debian/libsmlnj-smlnj.docs b/debian/libsmlnj-smlnj.docs
new file mode 100644 (file)
index 0000000..bdc5806
--- /dev/null
@@ -0,0 +1,5 @@
+smlnj-lib/Doc
+smlnj-lib/HTML
+smlnj-lib/PORTING
+smlnj-lib/README
+smlnj-lib/TODO
diff --git a/debian/libsmlnj-smlnj.install b/debian/libsmlnj-smlnj.install
new file mode 100644 (file)
index 0000000..256c07f
--- /dev/null
@@ -0,0 +1 @@
+lib/SMLNJ-LIB lib/hash-cons-lib.cm lib/inet-lib.cm lib/reactive-lib.cm lib/regexp-lib.cm lib/unix-lib.cm usr/lib/smlnj/lib
diff --git a/debian/mkorig b/debian/mkorig
new file mode 100644 (file)
index 0000000..fe28b09
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# Builds upstream tarball
+# Uses the new layout of 110.60 version
+
+# Updated by Daniel Moerner in October 2009 to accept --upstream-version
+# argument so this script can be called by uscan.
+
+if [ "$1" -ne "--upstream-version" ] ; then
+    echo "Usage: mkorig --upstream-version version"
+    exit 1
+fi
+
+shift
+
+version=$1
+orig=../smlnj-$version
+
+url=http://smlnj.cs.uchicago.edu/dist/working
+
+root_tarballs="ckit config pgraph smlnj-lib MLRISC cml eXene heap2asm \
+              ml-burg ml-lex ml-yacc smlnj-c nlffi ml-lpt \
+              trace-debug-profile"
+base_tarballs="cm compiler runtime system"
+archs="x86 ppc sparc"
+
+mkdir -p $orig
+for t in $root_tarballs ; do
+    wget -O $orig/$t.tgz $url/$version/$t.tgz
+done
+
+mkdir -p $orig/bootstrap
+for t in $archs ; do
+    img=boot.$t-unix.tgz
+    wget -O $orig/bootstrap/$img $url/$version/$img
+done
+
+mkdir -p $orig/base
+for t in $base_tarballs ; do
+    wget -O $orig/base/$t.tgz $url/$version/$t.tgz
+done
+
+tar zcf ../smlnj_$version.orig.tar.gz $orig
+rm -rf $orig
+rm -f index.html
diff --git a/debian/ml-antlr.1 b/debian/ml-antlr.1
new file mode 100644 (file)
index 0000000..115ae71
--- /dev/null
@@ -0,0 +1,38 @@
+.TH ml-antlr 1 "September 4, 2009"
+.SH NAME
+ml-antlr \- parser generator for Standard ML
+.SH SYNOPSIS
+.B ml-antlr
+.RI "[--dot] [--latex] file"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-antlr
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page. 
+The
+.B ml-antlr
+script is part of the 
+.B SML/NJ CM 
+(Compilation and Library Manager) that is used to generate standalone
+programs.
+.TP 
+.BI --dot
+Generate DOT output (for graphviz).
+.TP 
+.BI --latex
+Generate LaTeX output.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-ulex (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" , 
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Daniel Moerner <dmoerner@gmail.com>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/ml-build.1 b/debian/ml-build.1
new file mode 100644 (file)
index 0000000..4553d2c
--- /dev/null
@@ -0,0 +1,43 @@
+.TH ml-build 1 "October 25, 2002"
+.SH NAME
+ml-build \- for generating standalone programs
+.SH SYNOPSIS
+.B ml-build
+.RI "[ " DU-options " ]" " root-group main-function heapfile"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-build
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page. 
+The
+.B ml-build
+script is part of the 
+.B SML/NJ CM 
+(Compilation and Library Manager) that is used to generate standalone
+programs.
+.SH OPTIONS
+A summary of options is included below.
+.TP 
+.BI -D name = value
+Set CM variable to given value.
+.TP
+.BI -D name
+Set CM variable to 1.
+.TP
+.BI -U name
+Unset CM variable.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-makedepend (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" , 
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/ml-burg.1 b/debian/ml-burg.1
new file mode 100644 (file)
index 0000000..add9d70
--- /dev/null
@@ -0,0 +1,42 @@
+.TH ml-burg 1 "November 14, 2002"
+.SH NAME
+ml-burg \- a tree parser generator for Standard ML
+.SH SYNOPSIS
+.B ml-burg
+.IR file .burg
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-burg
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+
+The
+.B ml-burg
+program generates a Standard ML program to perform bottom-up rewriting
+of an input tree. Cost information associated with each rewrite rule
+is used to derive the minimum rewrite cost for the entire tree. A
+successful reduction corresponds to rewriting the input tree to a
+special non-terminal symbol called the 
+.IR "start non-terminal" .
+Upon successful reduction, facilities are provided to walk the tree
+emitting semantic actions corresponding to the rules that matched.
+
+When
+.IR ml-burg " is presented with " file ".burg, the file " file ".sml"
+is generated. 
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-yacc (1),
+.BR ml-makedepend (1),
+.BR ml-build (1).
+.br
+The programs are documented fully by
+.IR "The ML-Burg -- Documentation" ", Florent Guillaume and Lal George, "
+which is available in 
+.IR /usr/share/doc/ml-burg/doc.pdf .
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others)
diff --git a/debian/ml-burg.examples b/debian/ml-burg.examples
new file mode 100644 (file)
index 0000000..84e19bd
--- /dev/null
@@ -0,0 +1 @@
+ml-burg/example*.burg
diff --git a/debian/ml-burg.install b/debian/ml-burg.install
new file mode 100644 (file)
index 0000000..41747c6
--- /dev/null
@@ -0,0 +1,3 @@
+bin/.heap/ml-burg.*linux usr/lib/smlnj/bin/.heap
+bin/ml-burg usr/lib/smlnj/bin
+wrapper/ml-burg usr/bin
diff --git a/debian/ml-burg.manpages b/debian/ml-burg.manpages
new file mode 100644 (file)
index 0000000..57d34d1
--- /dev/null
@@ -0,0 +1 @@
+debian/ml-burg.1
diff --git a/debian/ml-lex.1 b/debian/ml-lex.1
new file mode 100644 (file)
index 0000000..31dbc9d
--- /dev/null
@@ -0,0 +1,31 @@
+.TH ml-lex 1 "October 25, 2002"
+.SH NAME
+ml-lex \- a parser generator for ML
+.SH SYNOPSIS
+.B ml-lex 
+.I file.lex
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-lex
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page. 
+The
+.B ml-lex
+proogram generates a lexical analyzer from the specification in
+.IR file.lex ", and produces the file, " file.lex.sml "."
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-yacc (1),
+.BR ml-makedepend (1),
+.BR ml-build (1).
+.br
+The programs are documented fully by
+.IR "A lexical analyzer generator for Standard ML" ,
+Andrew W. Appel, James S. Mattson, and David R. Tarditi
+which is available via 
+<http://www.cs.princeton.edu/~appel/modern/ml/ml-lex/manual.html>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others)
diff --git a/debian/ml-lex.docs b/debian/ml-lex.docs
new file mode 100644 (file)
index 0000000..fd73359
--- /dev/null
@@ -0,0 +1,3 @@
+ml-lex/lexgen.doc
+ml-lex/mlex_int.doc
+ml-lex/README
diff --git a/debian/ml-lex.install b/debian/ml-lex.install
new file mode 100644 (file)
index 0000000..6f22fba
--- /dev/null
@@ -0,0 +1,3 @@
+bin/.heap/ml-lex.*linux usr/lib/smlnj/bin/.heap
+bin/ml-lex usr/lib/smlnj/bin
+wrapper/ml-lex usr/bin
diff --git a/debian/ml-lex.manpages b/debian/ml-lex.manpages
new file mode 100644 (file)
index 0000000..0904ffc
--- /dev/null
@@ -0,0 +1 @@
+debian/ml-lex.1
diff --git a/debian/ml-lpt.docs b/debian/ml-lpt.docs
new file mode 100644 (file)
index 0000000..ddafe21
--- /dev/null
@@ -0,0 +1,3 @@
+ml-lpt/todo
+ml-lpt/ml-antlr/examples/
+ml-lpt/ml-antlr/README
diff --git a/debian/ml-lpt.install b/debian/ml-lpt.install
new file mode 100644 (file)
index 0000000..3899253
--- /dev/null
@@ -0,0 +1,9 @@
+bin/.heap/ml-antlr.*linux      usr/lib/smlnj/bin/.heap
+bin/.heap/ml-ulex.*linux       usr/lib/smlnj/bin/.heap
+bin/ml-antlr                   usr/lib/smlnj/bin
+bin/ml-ulex                    usr/lib/smlnj/bin
+wrapper/ml-ulex                        usr/bin
+wrapper/ml-antlr               usr/bin
+lib/ml-antlr-tool.cm           usr/lib/smlnj/lib
+lib/ml-ulex-tool.cm            usr/lib/smlnj/lib
+lib/ml-lpt-lib.cm              usr/lib/smlnj/lib
diff --git a/debian/ml-lpt.manpages b/debian/ml-lpt.manpages
new file mode 100644 (file)
index 0000000..7c12775
--- /dev/null
@@ -0,0 +1,2 @@
+debian/ml-ulex.1
+debian/ml-antlr.1
diff --git a/debian/ml-makedepend.1 b/debian/ml-makedepend.1
new file mode 100644 (file)
index 0000000..03a8f30
--- /dev/null
@@ -0,0 +1,73 @@
+.TH ml-makedepend 1 "October 25, 2002"
+.SH NAME
+ml-makedepend \- list files a ML program depends upon
+.SH SYNOPSIS
+.B ml-makedepend 
+.RI "[ " DU-options " ] "
+.RB "[ " -n " ] [ " -f 
+.IB makefile " ] " " project.cm target"
+.br
+.B ml-makedepend
+.RI "[ " DU-options " ] "
+.RB "[ " -a 
+.IR arch " ] [ "
+.BI -o " os"
+.RB " ] [ " -f 
+.IR makefile " ] " "project.cm target"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-makedepend
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page. 
+The
+.B ml-makedepend
+script is part of the 
+.B SML/NJ CM 
+(Compilation and Library Manager) that is used to generate
+a list of files that a ML program depends on for use by
+.BR make .
+.SH OPTIONS
+A summary of options is included below.
+.TP
+.B -n
+.BR ml-makedepend " usually uses the " make 
+.RI variables " $(ARCH) " and " $(OPSYS) " 
+in the filenames for the
+.IR Makefile ". "
+This option disables this feature.
+.TP
+.BI -a " arch"
+.RI "Use " arch " in place of " $(ARCH) .
+.TP
+.BI -o " os"
+.RI "Use " os " in place of " $(OPSYS) .
+.TP
+.BI -f " makefile"
+Name of the 
+.I makefile
+to be used rather than the default
+.IR Makefile .
+.TP
+.BI -D name = value
+Set CM variable to given value.
+.TP
+.BI -D name
+Set CM variable to 1.
+.TP
+.BI -U name
+Unset CM variable.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-build (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" , 
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/ml-nlffigen.1 b/debian/ml-nlffigen.1
new file mode 100644 (file)
index 0000000..7147aa0
--- /dev/null
@@ -0,0 +1,257 @@
+.TH ml-nlffigen 1 "April 25, 2003"
+.SH NAME
+ml-nlffigen \- SML No Longer Foreign Function Interface tool
+.SH SYNOPSIS
+.B ml-nlffigen
+.RI [ option ] 
+-- 
+.I file
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-nlffigen
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+.PP
+.BR ml-nlffigen , 
+a glue-code generator for
+the new 
+.SM NLFFI
+foreign function interface.  The generator reads
+C source code and emits ML code along with a description file for CM.
+.SH OPTIONS
+A summary of options is included below.
+.IP "\fB-dir \fIdir" 4
+.PD 0
+.IP "\fB-d \fId" 4
+.PD
+Output directory where all generated files are placed. 
+.BR default :
+.IR NLFFI-Generated .
+.IP "\fB-allSU"
+.PD
+Instructs 
+.B ml-nlffigen 
+to include all structs and unions,
+even those that are defined in included files (as opposed
+to files explicitly listed as arguments).
+.BR default : 
+.IR off .
+.IP "\fB-width \fIw"
+.PD 0
+.IP "\fB-w \fIw"
+.PD
+Sets output line width (just a guess) to 
+.IR w .
+.BR default :
+.IR 75 .
+.IP "\fB-smloption \fIx"
+.PD
+Instructs 
+.B ml-nlffigen 
+to include 
+.I x
+into the list
+of options to annotate .sml entries in the generated .cm
+file with. 
+.BR default : 
+.IR noguid .
+.IP "\fB-guid"
+.PD
+Removes the default
+.B -noguid
+from the list of sml options.
+(This re-enables strict handling of type- and object-identity
+but can have negative impact on CM cutoff recompilation
+performance if the programmer routinely removes the entire
+tree of ml-nlffigen-generated files during development.)
+.IP "\fB-lambdasplit \fIx"
+.PD 0
+.IP "\fB-ls \fIx"
+.PD
+Instructs 
+.B ml-nlffigen 
+to generate "lambdasplit"
+options for all ML files (see CM manual for what this means;
+it does not currently work anyway because cross-module
+inlining is broken). 
+.BR default : 
+nothing.
+.IP "\fB-target \fIt"
+.PD 0
+.IP "\fB-t \fIt"
+.PD
+Sets the target to 
+.I t 
+(which must be one of "sparc-unix","x86-unix", or "x86-win32").
+.BR default : 
+current architecture.
+.IP "\fB-light"
+.PD 0
+.IP "\fB-l"
+.PD
+Suppress "heavy" versions of function wrappers and
+field accessors; also resets any earlier 
+.B -heavy
+to default. 
+.BR default ": not suppressed."
+.IP "\fB-heavy"
+.PD 0
+.IP "\fB-h"
+.PD
+suppress "light" versions of function wrappers and
+field accessors; also resets any earlier 
+.B -light 
+to default.
+.BR default ": not suppressed"
+.IP "\fB-namedargs"
+.PD 0
+.IP "\fB-na"
+.PD
+Instruct 
+.B ml-nlffigen 
+to generated function wrappers that
+use named arguments (ML records) instead of tuples if
+there is enough information for this in the C source;
+(this is not always very useful). 
+.BR default ": off."
+.IP "\fB-nocollect"
+.PD
+Do not do the following:
+Collect enum constants from truly unnamed enumerations
+(those without tags that occur at toplevel or in an
+unnamed context, i.e., not in a typedef or another
+named struct or union) into a single artificial
+enumeration tagged by ' (single apostrohe).  The corresponding
+ML-side representative will be a structure named E_'.
+.IP "\fB-enum-constructors"
+.PD 0
+.IP "\fB-ec"
+.PD
+When possible (i.e., if all values of a given enumeration
+are different from each other), make the ML representation
+type of the enumeration a datatype.  The default (and
+fallback) is to make that type the same as  
+.BR MLRep.Signed.int .
+.IP "\fB-libhandle \fIh"
+.PD 0
+.IP "\fB-lh \fIh"
+.PD
+Use the variable 
+.I h
+to refer to the handle to the
+shared library object.  Given the constraints of CM, 
+.I h
+must have the form of a long ML identifier, e.g.,
+.BR MyLibrary.libhandle . default : Library.libh .
+.IP "\fB-include \fIf"
+.PD 0
+.IP "\fB-add \fIf"     
+.PD
+Mention file
+.I f 
+in the generated .cm file.  This option
+is necessary at least once for providing the library handle.
+It can be used arbitrarily many times, resulting in more
+than one such programmer-supplied file to be mentioned.
+If 
+.I f 
+is relative, then it must be relative to the directory
+specified in the 
+.BI -dir " dir"
+option.
+.IP "\fB-cmfile \fIf"
+.PD 0
+.IP "\fB-cm \fIf"
+.PD
+Specify name of the generated .cm file, relative to
+the directory specified by the 
+.BI -dir " dir"
+option.
+.BR default :
+.IR nlffi-generated.cm .
+.IP "\fB-cppopt \fIo"
+.PD
+The string 
+.I o
+gets added to the list of options to be
+passed to cpp (the C preprocessor).  The list of options
+gets substituted for 
+.I %o 
+in the cpp command line template.
+.IP "\fB-U \fIx"
+.PD
+The string 
+.BI -U x 
+gets added to the list of cpp options.
+.IP "\fB-D \fIx"
+.PD
+The string 
+.BI -D x 
+gets added to the list of cpp options.
+.IP "\fB-I \fIx"
+.PD
+The string 
+.BI -I x 
+gets added to the list of cpp options.
+.IP "\fB-version"
+.PD
+Just write the version number of 
+.B ml-nlffigen 
+to standard
+output and then quit.
+.IP "\fB-match \fIr"   
+.PD 0
+.IP "\fB-m \fIr"
+.PD
+Normally 
+.B ml-nlffigen 
+will include ML definitions for a C
+declaration if the C declaration textually appears in
+one of the files specified at the command line.  Definitions
+in #include-d files will normally not appear (unless
+their absence would lead to inconsistencies).
+By specifying 
+.BI -match r
+, 
+.B ml-nlffigen 
+will also include
+definitions that occur in recursively #include-d files
+for which the 
+.BR awk -style 
+regular expression 
+.I r 
+matches their names.
+.IP "\fB-prefix \fIp"
+.PD 0
+.IP "\fB-p \fIp"
+.PD
+Generated ML structure names will all have prefix 
+.I p
+(in addition to the usual "S_" or "U_" or "F_" ...)
+.IP "\fB-gensym \fIg"
+.IP "\fB-g \fIg"
+Names "gensym-ed" by 
+.B ml-nlffigen 
+(for anonymous struct/union/
+enums) will get an additional suffix 
+.RI _ g.  
+(This should
+be used if output from several indepdendent runs of
+.B ml-nlffigen 
+are to coexist in the same ML program.)
+.IP "\fB--"
+Terminate processing of options, remaining arguments are
+taken to be C sources.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-build (1).
+.br
+This program described in more detail in
+.I No-Longer-Foreign: Teaching an ML compiler to speak C \"natively\" 
+, Matthias Blume, 
+which is available via <http://cm.bell-labs.com/who/blume/papers/nlffi.pdf>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/ml-nlffigen.docs b/debian/ml-nlffigen.docs
new file mode 100644 (file)
index 0000000..91af631
--- /dev/null
@@ -0,0 +1 @@
+nlffi/gen/README
diff --git a/debian/ml-nlffigen.install b/debian/ml-nlffigen.install
new file mode 100644 (file)
index 0000000..7e1ee6d
--- /dev/null
@@ -0,0 +1,3 @@
+bin/.heap/ml-nlffigen.*linux usr/lib/smlnj/bin/.heap
+bin/ml-nlffigen usr/lib/smlnj/bin
+wrapper/ml-nlffigen usr/bin
diff --git a/debian/ml-nlffigen.manpages b/debian/ml-nlffigen.manpages
new file mode 100644 (file)
index 0000000..31b15b4
--- /dev/null
@@ -0,0 +1 @@
+debian/ml-nlffigen.1
diff --git a/debian/ml-ulex.1 b/debian/ml-ulex.1
new file mode 100644 (file)
index 0000000..5bcd676
--- /dev/null
@@ -0,0 +1,43 @@
+.TH ml-ulex 1 "September 4, 2009"
+.SH NAME
+ml-ulex \- lexer generator for Standard ML
+.SH SYNOPSIS
+.B ml-ulex
+.RI "[--dot] [--dump] [--match] [--ml-lex-mode] [--minimize] file"
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-ulex
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page. 
+The
+.B ml-ulex
+script is part of the 
+.B SML/NJ CM 
+(Compilation and Library Manager) that is used to generate standalone
+programs.
+.SH OPTIONS
+A summary of some of the options is included below.
+.TP 
+.BI --dot
+Generate DOT output (for graphviz).
+.TP 
+.BI --match
+Enter interactive matching mode.
+.TP 
+.BI --ml-lex-mode
+Operate in ml-lex compatibility mode.
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-antlr (1),
+.BR ml-lex (1),
+.BR ml-yacc (1).
+.br
+The programs are documented fully by
+.IR "CM: The SML/NJ Compilation and Library Manager, User Manual" , 
+Matthias Blume, which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/CM/new.pdf>.
+.SH AUTHOR
+This manual page was written by Daniel Moerner <dmoerner@gmail.com>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/ml-yacc.1 b/debian/ml-yacc.1
new file mode 100644 (file)
index 0000000..b55e06c
--- /dev/null
@@ -0,0 +1,30 @@
+.TH ml-yacc 1 "October 25, 2002"
+.SH NAME
+ml-yacc \- a parser generator for ML
+.SH SYNOPSIS
+.B ml-yacc 
+.I file
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B ml-yacc
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page. 
+The
+.B ml-yacc
+program generates a parser for an LALR language from the specification in
+.IR file ". Two files are generated, " file.sig " and " file.sml .
+.SH SEE ALSO
+.BR sml (1),
+.BR ml-lex (1),
+.BR ml-makedepend (1),
+.BR ml-build (1).
+.br
+The programs are documented fully by
+.IR "The ML-Yacc User's Manual" ", David R. Tarditi and Andrew W. Appel, "
+which is
+available via <http://cm.bell-labs.com/cm/cs/what/smlnj/doc/ML-Yacc>.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others)
diff --git a/debian/ml-yacc.docs b/debian/ml-yacc.docs
new file mode 100644 (file)
index 0000000..d6aeb5e
--- /dev/null
@@ -0,0 +1,2 @@
+ml-yacc/README
+ml-yacc/doc
diff --git a/debian/ml-yacc.examples b/debian/ml-yacc.examples
new file mode 100644 (file)
index 0000000..050c79b
--- /dev/null
@@ -0,0 +1 @@
+ml-yacc/examples/*
diff --git a/debian/ml-yacc.install b/debian/ml-yacc.install
new file mode 100644 (file)
index 0000000..5930e54
--- /dev/null
@@ -0,0 +1,4 @@
+bin/.heap/ml-yacc.*linux usr/lib/smlnj/bin/.heap
+bin/ml-yacc usr/lib/smlnj/bin
+lib/SMLNJ-ML-YACC-LIB usr/lib/smlnj/lib
+wrapper/ml-yacc usr/bin
diff --git a/debian/ml-yacc.manpages b/debian/ml-yacc.manpages
new file mode 100644 (file)
index 0000000..b08063a
--- /dev/null
@@ -0,0 +1 @@
+debian/ml-yacc.1
diff --git a/debian/nowhere.1 b/debian/nowhere.1
new file mode 100644 (file)
index 0000000..c1fe330
--- /dev/null
@@ -0,0 +1,59 @@
+.TH nowhere 1 "July 21, 2004"
+.SH NAME
+nowhere \- a tree parser generator for Standard ML
+.SH SYNOPSIS
+.B nowhere
+.I file
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B nowhere
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+
+The
+.B nowhere
+program is a simple source to source translation tool that expands out
+case expressions with conditional patterns.
+
+Conditional patterns use the "where" keyword.  For example:
+
+ case l of
+   [x,y,z] where x=1 => 1
+ | _ => 2
+
+means the same as:
+
+ case l of
+   [1,y,z] => 1
+ | _ => 2
+
+Currently, the input file must be of the following form:
+
+ local
+   <definitions>
+ in
+   <body>
+ end
+   <definitions>
+
+should include all datatypes definitions that are used inside the
+.IR body .
+It is only for the tool's benefit and does not appear in the output.
+Only
+.I body
+appears at the output.  You can use the special declaration
+
+     include "filename"
+
+to import extra definitions.
+
+The tool translates all case expressions with guards into the appropriate code.
+
+.SH SEE ALSO
+.I /usr/share/doc/nowhere/README
+.br
+.SH AUTHOR
+This manual page was written by Aaron Read <amread@nyx.net>. for the
+Debian GNU/Linux system (but may be used by others)
diff --git a/debian/nowhere.docs b/debian/nowhere.docs
new file mode 100644 (file)
index 0000000..5fdb028
--- /dev/null
@@ -0,0 +1 @@
+MLRISC/Tools/nowhere/README
diff --git a/debian/nowhere.install b/debian/nowhere.install
new file mode 100644 (file)
index 0000000..19fd20a
--- /dev/null
@@ -0,0 +1,3 @@
+bin/.heap/nowhere.*linux usr/lib/smlnj/bin/.heap
+bin/nowhere usr/lib/smlnj/bin
+wrapper/nowhere usr/bin
diff --git a/debian/nowhere.manpages b/debian/nowhere.manpages
new file mode 100644 (file)
index 0000000..c117c5e
--- /dev/null
@@ -0,0 +1 @@
+debian/nowhere.1
diff --git a/debian/patches/use-psfig-not-epsfig.diff b/debian/patches/use-psfig-not-epsfig.diff
new file mode 100644 (file)
index 0000000..e9edb2b
--- /dev/null
@@ -0,0 +1,89 @@
+Description: Port MLRISC latex documentation to epsfig.sty
+ Upstream uses the deprecated psfig.sty package, which is no longer in
+ TeXLive 2009. This patch uses the drop-in substitute wrapper, epsfig.sty.
+ .
+ The long-term solution will be to port the documentation to use the
+ graphicx package directly.
+Forwarded: http://smlnj-gforge.cs.uchicago.edu/tracker/index.php?func=detail&aid=53&group_id=33&atid=215
+Author: Daniel Moerner <dmoerner@gmail.com>
+Last-Update: 2010-02-09
+
+diff --git a/MLRISC/Doc/latex/graphs.tex b/MLRISC/Doc/latex/graphs.tex
+index 01e626d..992f64a 100644
+--- a/MLRISC/Doc/latex/graphs.tex
++++ b/MLRISC/Doc/latex/graphs.tex
+@@ -877,7 +877,7 @@ with sources and targets in $S$.  $S$ must be a subset of $V$.
+ \begin{wrapfigure}{r}{3in}
+   \begin{Boxit}
+-  \psfig{figure=../pictures/eps/trace.eps,width=2.8in}
++  \epsfig{figure=../pictures/eps/trace.eps,width=2.8in}
+   \end{Boxit}
+   \label{fig:trace-view}
+   \caption{A trace view}
+@@ -910,7 +910,7 @@ be both since it exits from \sml{G} and enters into \sml{A}.
+ \end{SML}
+ \begin{wrapfigure}{r}{3in}
+   \begin{Boxit}
+-  \psfig{figure=../pictures/eps/subgraph.eps,width=2.8in}
++  \epsfig{figure=../pictures/eps/subgraph.eps,width=2.8in}
+   \end{Boxit}
+   \label{fig:acyclic-subgraph-view}
+   \caption{An acyclic subgraph}
+diff --git a/MLRISC/Doc/latex/mlrisc-ir.tex b/MLRISC/Doc/latex/mlrisc-ir.tex
+index c346baa..f437e22 100644
+--- a/MLRISC/Doc/latex/mlrisc-ir.tex
++++ b/MLRISC/Doc/latex/mlrisc-ir.tex
+@@ -187,7 +187,7 @@ operate on more complex representations which use this
+ representation as the base layer.  
+ \begin{wrapfigure}{r}{4.5in}
+    \begin{Boxit}
+-   \psfig{figure=../pictures/eps/mlrisc-IR.eps,width=4.5in} 
++   \epsfig{figure=../pictures/eps/mlrisc-IR.eps,width=4.5in} 
+    \end{Boxit}
+    \caption{The MLRISC IR}
+ \end{wrapfigure}
+@@ -514,7 +514,7 @@ These functions have the following meanings:
+    \end{SML}
+ \begin{Figure}
+ \begin{boxit}
+-\cpsfig{figure=../pictures/eps/tail-duplication.eps,width=3in}
++\cepsfig{figure=../pictures/eps/tail-duplication.eps,width=3in}
+ \end{boxit}
+ \label{fig:tail-duplication} 
+ \caption{Tail-duplication}
+diff --git a/MLRISC/Doc/latex/mltex.sty b/MLRISC/Doc/latex/mltex.sty
+index 04d3477..8a30680 100644
+--- a/MLRISC/Doc/latex/mltex.sty
++++ b/MLRISC/Doc/latex/mltex.sty
+@@ -5,7 +5,7 @@
+ \ProvidesPackage{mltex}[2000/2/12 defines mltex environment]
+ \usepackage{latexsym}
+-\usepackage{psfig}
++\usepackage{epsfig}
+ \usepackage{fancyheadings}
+ \usepackage{sml}
+ \usepackage{color}
+@@ -34,7 +34,7 @@
+ % Images and Figures
+ \newcommand{\image}[3]{}
+-\newcommand{\cpsfig}[1]{\centerline{\psfig{#1}}}
++\newcommand{\cepsfig}[1]{\centerline{\epsfig{#1}}}
+ % Formatting
+ \newenvironment{Bold}{\begingroup\bf}{\endgroup}
+diff --git a/MLRISC/Doc/latex/mltex.tex b/MLRISC/Doc/latex/mltex.tex
+index c9cbdbb..343d6fe 100644
+--- a/MLRISC/Doc/latex/mltex.tex
++++ b/MLRISC/Doc/latex/mltex.tex
+@@ -104,7 +104,7 @@ environments and macros, and will translate them into HTML equivalents.
+   \section \subsection \subsubsection \paragraph
+   \ref \label 
+   \noindent \linebreak 
+-  \psfig  
++  \epsfig  
+ \end{verbatim}  
+ \subsection{Bugs and Shortcomings}
diff --git a/debian/pkg-deregister b/debian/pkg-deregister
new file mode 100644 (file)
index 0000000..67f5b76
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+SMLNJ_HOME=/usr/lib/smlnj
+
+list=/var/lib/dpkg/info/$1.list
+
+for l in $(grep "$SMLNJ_HOME/lib/[^.][^/]*$" $list) ; do
+    base=$(basename $l)
+    $SMLNJ_HOME/bin/deregister $base
+done
+
+for b in $(grep "$SMLNJ_HOME/bin/[^.][^/]*$" $list) ; do
+    base=$(basename $b)
+    $SMLNJ_HOME/bin/deregister $base
+done
diff --git a/debian/pkg-register b/debian/pkg-register
new file mode 100644 (file)
index 0000000..0f16088
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+SMLNJ_HOME=/usr/lib/smlnj
+
+list=/var/lib/dpkg/info/$1.list
+
+for l in $(grep "$SMLNJ_HOME/lib/[^.][^/]*$" $list) ; do
+    base=$(basename $l)
+    $SMLNJ_HOME/bin/register $base $base
+done
+
+for b in $(grep "$SMLNJ_HOME/bin/[^.][^/]*$" $list) ; do
+    base=$(basename $b)
+    $SMLNJ_HOME/bin/register $base ../bin
+done
diff --git a/debian/postinst.in b/debian/postinst.in
new file mode 100644 (file)
index 0000000..87faf29
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+@SMLNJ_HOME@/bin/pkg-register @PKG@
+
+#DEBHELPER#
diff --git a/debian/prerm.in b/debian/prerm.in
new file mode 100644 (file)
index 0000000..eecb019
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+@SMLNJ_HOME@/bin/pkg-deregister @PKG@
+
+#DEBHELPER#
diff --git a/debian/register b/debian/register
new file mode 100644 (file)
index 0000000..1def8e9
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+if [ $# -ne 2 ] ; then
+    echo "usage: register name target"
+    exit 1
+fi
+
+name=$1
+target=$2
+
+/usr/lib/smlnj/bin/deregister $name
+
+echo "$name $target" >> /usr/lib/smlnj/lib/pathconfig
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..d0d3722
--- /dev/null
@@ -0,0 +1,193 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+export DH_OPTIONS
+
+SHELL:=/bin/sh
+
+ROOT:=$(CURDIR)
+
+CONFIGDIR:=$(ROOT)/config
+SRCDIR:=$(ROOT)/src
+BS_SML:=$(ROOT)/bootstrap/bin/sml
+BS_LINK:=$(ROOT)/bootstrap/bin/.link-sml
+
+SMLNJ_HOME:=/usr/lib/smlnj
+BINDIR:=$(SMLNJ_HOME)/bin
+HEAPDIR:=$(BINDIR)/heap
+RUNDIR:=$(BINDIR)/run
+LIBDIR:=$(BINDIR)/lib
+
+VERSION=$(shell cat $(CONFIGDIR)/version)
+
+debscripts:=$(addprefix debian/,deregister mkorig pkg-deregister pkg-register register)
+
+srcdirs:=$(basename $(wildcard *tgz))
+basedirs:=$(basename $(notdir $(wildcard base/*tgz)))
+
+notlibs:=smlnj-runtime smlnj-doc
+libpkgs:=$(filter-out $(notlibs),$(shell dh_listpackages))
+postinsts:=$(addsuffix .postinst,$(addprefix debian/,$(libpkgs)))
+prerms:=$(addsuffix .prerm,$(addprefix debian/,$(libpkgs)))
+
+vars.sed:
+       echo "s,@SHELL@,$(SHELL),g" > vars.sed
+       echo "s,@SMLNJ_HOME@,$(SMLNJ_HOME)," >> vars.sed
+       echo "s,@BINDIR@,$(BINDIR)," >> vars.sed
+       echo "s,@VERSION@,$(VERSION)," >> vars.sed
+
+arch-n-opsys: $(CONFIGDIR)/_arch-n-opsys vars.sed
+       cat $< | sed -f vars.sed > $@
+       chmod 777 $@
+
+$(BS_SML):
+       for f in *tgz; do tar zxf $$f -C bootstrap; done
+       mkdir -p bootstrap/base
+       for f in base/*tgz; do tar zxf $$f -C bootstrap/base; done
+       cd bootstrap && URLGETTER=/bin/false ./config/install.sh
+
+boot.%.tgz: $(BS_SML)
+       cd base/system && echo "CMB.make();" | $< "\$$smlnj/cmb.cm";
+       cd base/system/sml.boot.$* \
+          && $(BS_LINK) @SMLboot=BOOTLIST @SMLheap=sml @SMLalloc=1M \
+                        @SMLrebuild="foo"
+       rm -r base/system/sml.boot.$*
+       rm -r base/system/*.bin.$*
+       mv base/system/foo.boot.$* base/system/sml.boot.$*
+       cd base/system && tar zcf $(ROOT)/$@ sml.boot.$*;
+
+boot: arch-n-opsys
+       eval `./arch-n-opsys` && $(MAKE) -f debian/rules boot.$$ARCH-unix.tgz;
+
+smlnj: boot
+       config/install.sh
+       
+       mkdir -p wrapper
+       for c in `cd bin && ls`; do \
+         cat debian/wrapper.in | sed -f vars.sed -e "s/@CMD@/$$c/g" > wrapper/$$c; \
+         chmod 555 wrapper/$$c; \
+       done
+
+debian/%.postinst: debian/postinst.in vars.sed
+       cat $< | sed -f vars.sed -e "s/@PKG@/$*/" > $@
+
+debian/%.prerm: debian/prerm.in vars.sed
+       cat $< | sed -f vars.sed -e "s/@PKG@/$*/" > $@
+
+instscripts: $(postinsts) $(prerms)
+
+unpack-source: unpack-source-stamp
+unpack-source-stamp:
+       cd base && for t in $(basedirs); do tar zxf $$t.tgz; done
+       for t in $(srcdirs); do tar zxf $$t.tgz; done
+       touch $@
+
+# Architecture
+build: build-arch
+
+build-arch: build-arch-stamp
+build-arch-stamp: unpack-source-stamp
+       mkdir -p debscripts
+       install -m 555 $(debscripts) debscripts
+       
+       cat debian/patches/* | patch -N -p1 1>/dev/null || true
+       cp config/targets config/targets.orig
+       cp debian/targets config/targets
+       $(MAKE) -f debian/rules smlnj
+       
+       touch $@
+
+build-indep: build-indep-stamp
+build-indep-stamp: unpack-source-stamp
+ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
+       cd base/cm/Doc; latex manual.tex && latex manual.tex && dvipdfmx -o cm_manual.pdf manual.dvi
+       cd ml-lpt/doc; latex manual.tex && latex manual.tex && dvipdfmx -o ml-lpt_manual.pdf manual.dvi
+       cd nlffi/lib/Doc/manual; latex nlffi.tex && latex nlffi.tex && dvipdfmx nlffi.dvi
+       cd MLRISC/Doc; make
+       cd MLRISC/Tools/Doc; make
+       cd ml-lex; latex lexgen.tex && latex lexgen.tex && dvipdfmx lexgen.dvi
+endif
+       touch $@
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f *-stamp
+       
+       rm -f vars.sed
+       rm -f $(prerms) $(postinsts)
+       rm -f arch-n-opsys
+       rm -f boot*tgz
+       cd bootstrap && rm -rf bin ckit config lib src
+       rm -rf $(SRCDIR)/system/foo.* $(SRCDIR)/system/sml.*
+       rm -rf bin lib wrapper debscripts
+       
+       cd base && rm -rf $(basedirs)
+       rm -rf $(srcdirs)
+       rm -rf sml.boot.*
+       
+       cd bootstrap && rm -rf `ls | grep -v unix.tgz`
+       
+       dh_clean
+
+install: install-arch-stamp install-indep-stamp
+
+install-indep: build-indep-stamp
+       dh_testdir
+       dh_testroot
+       dh_installdirs -i
+       dh_install -i
+
+install-arch: build-arch-stamp instscripts
+       dh_testdir
+       dh_testroot
+       dh_prep
+       dh_installdirs -s
+       
+       dh_installchangelogs -psmlnj base/compiler/ChangeLog upstream
+       dh_installchangelogs -plibcml-smlnj cml/CHANGES upstream
+       dh_installchangelogs -plibexene-smlnj eXene/CHANGES upstream
+       dh_installchangelogs -plibsmlnj-smlnj smlnj-lib/CHANGES upstream
+       dh_installchangelogs -plibckit-smlnj ckit/HISTORY upstream
+       
+       dh_install -s
+       
+# make sure that the build path doesn't sneak in the link and run scripts
+       sed -i 's/BIN_DIR=".*smlnj.*"/BIN_DIR="\/usr\/lib\/smlnj\/bin\/"/' $(CURDIR)/debian/smlnj-runtime/usr/lib/smlnj/bin/.*-sml
+# install base pathconfig rules to smlnj-runtime package
+       install -m 644 config/extrapathconfig $(CURDIR)/debian/smlnj-runtime/usr/lib/smlnj/lib/pathconfig
+
+binary-arch: install-arch
+       dh_testdir -a
+       dh_testroot -a 
+       dh_installchangelogs -a
+       dh_installdocs --exclude=".cvsignore" -a
+       dh_installexamples --exclude=".cvsignore" -a
+       dh_installman -a
+       dh_strip -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_installdeb -a
+       dh_shlibdeps -a
+       dh_gencontrol -a
+       dh_md5sums -a
+       dh_builddeb -a
+
+binary-indep: install-indep
+       dh_testdir -i
+       dh_testroot -i 
+       dh_installchangelogs -i
+       dh_installdocs --exclude=".cvsignore" -i
+       dh_installexamples --exclude=".cvsignore" -i
+       dh_installman -i
+       dh_strip -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_shlibdeps -i
+       dh_gencontrol -i
+       dh_md5sums -i
+       dh_builddeb -i
+
+binary: binary-arch
+.PHONY: unpack-source build build-arch build-indep clean binary-arch binary-indep binary install install-arch install-indep
diff --git a/debian/sml.1 b/debian/sml.1
new file mode 100644 (file)
index 0000000..e7649b6
--- /dev/null
@@ -0,0 +1,101 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.TH SML 1 "October 25, 2002"
+.SH NAME
+sml \- SML compiler
+.SH SYNOPSIS
+.B sml
+.RI "[ " rtsargs " ] [ " options " ] [" files " ]"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B sml
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+This is a compiler for Standard ML which may be used 
+interactively.
+.SH OPTIONS
+A summary of options is included below.
+.SS rtsargs:
+.TP
+.BI @SMLload= heapimage
+Start specified heap image.
+.TP
+.BI @SMLalloc= size
+Specify size of allocation area.
+.TP
+.BI @SMLcmdname= name
+Set command name.
+.TP
+.B @SMLquiet
+Load heap image silently.
+.TP
+.B @SMLverbose
+Show heap image load progress.
+.TP
+.B @SMLobjects
+Show list of executable objects.
+.TP
+.BI @SMLdebug= file
+Write debugging info to file.
+.SS options:
+.TP
+.BI -D name = value
+Set CM variable to given value.
+.TP
+.BI -D name
+Set CM variable to 1.
+.TP
+.BI -U name
+Unset CM variable.
+.TP
+.BI -C control = value
+Set named control.
+.TP
+.B -H
+Produce complete help listing.
+.TP
+.B -h
+Produce minimal help listing.
+.TP
+.BI -h level
+Help with obscurity limit.
+.TP
+.B -S
+List all current settings.
+.TP
+.BI -s level
+Limited list of settings.
+
+.SS files:
+.TP
+.I file.cm        
+CM.make or CM.autoload.
+.TP
+.B -m
+Switch to CM.make.
+.TP
+.B -a
+Switch to CM.autoload; default.
+.TP
+.I file.sig
+Use.
+.TP
+.I file.sml
+Use.
+.TP
+.I file.fun
+Use.
+
+
+.SH SEE ALSO
+.BR ml-build (1),
+.BR ml-lex (1),
+.BR ml-makedepend (1),
+.BR ml-yacc (1).
+.br
+Standard ML is defined in
+.IR "The Definition of Standard ML" ,
+Robin Milner, Mads Tofte, Robert Harper and David MacQueen.
+.SH AUTHOR
+This manual page was written by Aaron Matthew Read <amread@nyx.net>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/smlnj-doc.doc-base.ml-lpt b/debian/smlnj-doc.doc-base.ml-lpt
new file mode 100644 (file)
index 0000000..963b900
--- /dev/null
@@ -0,0 +1,14 @@
+Document: ml-lpt
+Title: SML/NJ Language Processing Tools: User Guide
+Author: Aaron Turon
+Abstract: This manual describes two new tools, ml-ulex and ml-antlr, that
+ follow tradition in separating scanning from parsing, but break from
+ tradition in their implementation: ml-ulex is based on regular expression
+ derivatives rather than subset-construction, and ml-antlr is based on LL(k)
+ parsing rather than LALR(1) parsing.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/smlnj-doc/ml-lpt_manual.pdf.gz
+ /usr/share/doc/smlnj-doc/impl-pic.pdf.gz
+ /usr/share/doc/smlnj-doc/design.pdf.gz
diff --git a/debian/smlnj-doc.doc-base.mlrisc b/debian/smlnj-doc.doc-base.mlrisc
new file mode 100644 (file)
index 0000000..b79885b
--- /dev/null
@@ -0,0 +1,13 @@
+Document: mlrisc
+Title: MLRISC Manual
+Author: Lal George, Allen Leung
+Abstract: Manual for MLRISC, a framework for retargetable and
+ optimizing compiler back ends.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/smlnj-doc/mlrisc/index.html
+Files: /usr/share/doc/smlnj-doc/mlrisc/*.html
+
+Format: PostScript
+Files: /usr/share/doc/smlnj-doc/mlrisc.ps.gz
diff --git a/debian/smlnj-doc.doc-base.mltex b/debian/smlnj-doc.doc-base.mltex
new file mode 100644 (file)
index 0000000..7a5b105
--- /dev/null
@@ -0,0 +1,11 @@
+Document: mltex
+Title: MLTeX - A special package for writing MLRISC documentation
+Author: Allen Leung, Lal George
+Abstract: MLTeX is a special LaTeX package for writing MLRISC
+ documentation. It is similar to the latex2html tool except that MLTeX has
+ special environments for documentating Standard ML code. In addition, there
+ is an accompanying tool called mltex2html for generating HTML pages.
+Section: Programming
+
+Format: PostScript
+Files: /usr/share/doc/smlnj-doc/mltexdoc.ps.gz
diff --git a/debian/smlnj-doc.doc-base.nlffi b/debian/smlnj-doc.doc-base.nlffi
new file mode 100644 (file)
index 0000000..5769df5
--- /dev/null
@@ -0,0 +1,8 @@
+Document: nlffi
+Title: NLFFI - A New SML/NJ Foreign-Function Interface
+Author: Matthias Blume
+Abstract: This document describes the use of the NLFFI.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/smlnj-doc/nlffi.pdf.gz
diff --git a/debian/smlnj-doc.doc-base.nowhere b/debian/smlnj-doc.doc-base.nowhere
new file mode 100644 (file)
index 0000000..524a598
--- /dev/null
@@ -0,0 +1,10 @@
+Document: nowhere
+Title: Nowhere - A pattern matching tool for SML/NJ
+Author: Allen Leung
+Abstract: An overview of the use of nowhere to translate SML programs that
+ use conditional pattern matching into normal SML code.
+Section: Programming
+
+Format: PostScript
+Files: /usr/share/doc/smlnj-doc/nowhere.ps.gz
+
diff --git a/debian/smlnj-doc.doc-base.smlnjcm b/debian/smlnj-doc.doc-base.smlnjcm
new file mode 100644 (file)
index 0000000..f179f07
--- /dev/null
@@ -0,0 +1,9 @@
+Document: smlnjcm
+Title: CM - The SML/NJ Compilation and Library Manager
+Author: Matthias Blume
+Abstract: User Manual for the new implementation of the Compilation and
+ Library Manager in SML/NJ 110.40 and later.
+Section: Programming
+
+Format: PDF
+Files: /usr/share/doc/smlnj-doc/cm_manual.pdf.gz
diff --git a/debian/smlnj-doc.docs b/debian/smlnj-doc.docs
new file mode 100644 (file)
index 0000000..94df895
--- /dev/null
@@ -0,0 +1,5 @@
+MLRISC/Doc/latex/*.ps
+MLRISC/Tools/Doc/nowhere.ps
+base/cm/Doc/*.pdf
+ml-lpt/doc/*.pdf
+nlffi/lib/Doc/manual/*.pdf
diff --git a/debian/smlnj-doc.install b/debian/smlnj-doc.install
new file mode 100644 (file)
index 0000000..eae2566
--- /dev/null
@@ -0,0 +1,3 @@
+MLRISC/Doc/html/*.html /usr/share/doc/smlnj-doc/mlrisc/
+MLRISC/Doc/graphics/   /usr/share/doc/smlnj-doc/mlrisc/
+MLRISC/Doc/pictures/   /usr/share/doc/smlnj-doc/mlrisc/
diff --git a/debian/smlnj-runtime.dirs b/debian/smlnj-runtime.dirs
new file mode 100644 (file)
index 0000000..38eb1d8
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/smlnj/lib
diff --git a/debian/smlnj-runtime.install b/debian/smlnj-runtime.install
new file mode 100644 (file)
index 0000000..3dfa08a
--- /dev/null
@@ -0,0 +1 @@
+bin/.arch-n-opsys bin/.link-sml bin/.run-sml bin/.run debscripts/* usr/lib/smlnj/bin
diff --git a/debian/smlnj-runtime.postinst b/debian/smlnj-runtime.postinst
new file mode 100644 (file)
index 0000000..0e529f7
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+set -e
+
+SMLNJ_HOME=/usr/lib/smlnj
+
+touch $SMLNJ_HOME/lib/pathconfig
+chmod 664 $SMLNJ_HOME/lib/pathconfig
+
+$SMLNJ_HOME/bin/register bindir ../bin
+
+#DEBHELPER#
diff --git a/debian/smlnj-runtime.postrm b/debian/smlnj-runtime.postrm
new file mode 100644 (file)
index 0000000..61d4fa9
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "purge" ] ; then
+    rm -f /usr/lib/smlnj/lib/pathconfig
+fi
+
+#DEBHELPER#
diff --git a/debian/smlnj-runtime.prerm b/debian/smlnj-runtime.prerm
new file mode 100644 (file)
index 0000000..80b9e9f
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+/usr/lib/smlnj/bin/deregister bindir
+
+#DEBHELPER#
diff --git a/debian/smlnj.docs b/debian/smlnj.docs
new file mode 100644 (file)
index 0000000..eb4f1e4
--- /dev/null
@@ -0,0 +1,2 @@
+base/system/README
+base/cm/Overview
diff --git a/debian/smlnj.install b/debian/smlnj.install
new file mode 100644 (file)
index 0000000..b19b8f9
--- /dev/null
@@ -0,0 +1,5 @@
+bin/.heap/sml.*linux usr/lib/smlnj/bin/.heap
+bin/sml bin/ml-build bin/ml-makedepend usr/lib/smlnj/bin
+lib/SMLNJ-MLRISC lib/SMLNJ-BASIS lib/burg-ext.cm lib/dir-tool.cm lib/grm-ext.cm lib/lex-ext.cm lib/make-tool.cm lib/mlburg-tool.cm lib/mllex-tool.cm lib/mlyacc-tool.cm lib/noweb-tool.cm lib/nw-ext.cm lib/pgraph.cm lib/pickle-lib.cm lib/shell-tool.cm lib/smlnj lib/smlnj-tdp usr/lib/smlnj/lib
+wrapper/ml-build wrapper/ml-makedepend wrapper/sml usr/bin
+MLRISC/demo/* usr/share/doc/smlnj/MLRISC-demo/
diff --git a/debian/smlnj.manpages b/debian/smlnj.manpages
new file mode 100644 (file)
index 0000000..e047b76
--- /dev/null
@@ -0,0 +1,3 @@
+debian/sml.1
+debian/ml-build.1
+debian/ml-makedepend.1
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..d3827e7
--- /dev/null
@@ -0,0 +1 @@
+1.0
diff --git a/debian/targets b/debian/targets
new file mode 100644 (file)
index 0000000..53e7748
--- /dev/null
@@ -0,0 +1,43 @@
+# targets file for Debian, to be copied as config/targets
+# See the upstream file for more details about this file
+
+request src-smlnj
+request ml-ulex
+# WARNING: This is incompatible with ml-ulex-lex-ext!!
+#request ml-ulex-lex-ext
+# WARNING: This is incompatible with ml-lex-mllex-tool!!
+request ml-ulex-mllex-tool
+request ml-lex
+# WARNING: This is incompatible with ml-ulex-mllex-tool!!
+#request ml-lex-mllex-tool
+# WARNING: This is incompatible with ml-ulex-lex-ext!!
+request ml-lex-lex-ext
+request ml-yacc
+# WARNING: This is incompatible with ml-antlr-grm-ext!!
+request ml-yacc-grm-ext
+request ml-antlr
+# WARNING: This is incompatible with ml-yacc-grm-ext!!
+#request ml-antlr-grm-ext
+request ml-lpt-lib
+request ml-burg
+request smlnj-lib
+request pgraph-util
+request tdp-util
+request cml
+request cml-lib
+request eXene
+request mlrisc
+request ckit
+
+# This preview release currently works under X86/Linux, Sparc/Solaris,
+# PPC/MacOSX, and X86/Win32.
+#
+request ml-nlffi-lib
+# This preview release currently works under X86/Linux, Sparc/Solaris,
+# PPC/MacOSX, and X86/Win32.
+#
+request ml-nlffigen
+
+request mlrisc-tools
+request nowhere
+request heap2asm
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..d42baf2
--- /dev/null
@@ -0,0 +1,13 @@
+# This watchfile will call the debian/mkorig script, which will
+# download the individual parts of the upstream distribution and construct
+# a tarball from them in the directory below the source directory.
+#
+# For this watchfile to download the tarball, you will need to run:
+#
+# $ chmod +x debian/mkorig
+#
+
+version=3
+http://www.smlnj.org/ \
+                     dist/working/(.*)/index.html \
+                debian debian/mkorig
diff --git a/debian/wrapper.in b/debian/wrapper.in
new file mode 100644 (file)
index 0000000..496f2ea
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+export SMLNJ_HOME=${SMLNJ_HOME:-@SMLNJ_HOME@}
+
+exec $SMLNJ_HOME/bin/@CMD@ $@