--- haxe-2.4.orig/debian/changelog
+++ haxe-2.4/debian/changelog
@@ -0,0 +1,334 @@
+haxe (1:2.4-2~bpo50+1) lenny-backports; urgency=low
+
+  * Backport to Lenny, adapt to old ocaml.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 21 Sep 2009 21:58:08 +0200
+
+haxe (1:2.4-2) unstable; urgency=low
+
+  * Reinclude haxe-mode for Emacs, since the ftp-masters will not let me
+    create a separate package.
+  * Bumped Standards-Version to 3.8.3, no change.
+
+ -- Jens Peter Secher <jps@debian.org>  Tue, 08 Sep 2009 15:43:54 +0200
+
+haxe (1:2.4-1) unstable; urgency=low
+
+  * New upstream version (CVS 2009-08-01).
+  * Removed obsolete parts of the copyright file now that ExtLib is 
+    not included anymore.
+  * Included patch for Ubuntu location of zlib, thanks to Alessio Treglia.
+    (Closes: #533159)
+  * Removed haxe-mode to get it into its own package.
+    (Closes: #521222)
+  * Included new commands in bash_completion.
+  * Removed obsolete Lintian overrides.
+  * Bumped Standards-Version to 3.8.2, no change.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 03 Aug 2009 21:29:45 +0200
+
+haxe (1:2.3-1~bpo40+1) etch-backports; urgency=low
+
+  * Backport to Etch, adapt to old ocaml and debhelper 5.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 15 Jun 2009 21:40:08 +0200
+
+haxe (1:2.3-1~bpo50+1) lenny-backports; urgency=low
+
+  * Backport to Lenny, adapt to old camlp4.
+
+ -- Jens Peter Secher <jps@debian.org>  Thu, 28 May 2009 20:06:08 +0200
+
+haxe (1:2.3-1) unstable; urgency=low
+
+  * New upstream version.
+  * Remove patch ocaml-3.11-compile.diff because it is included upstream.
+  * Bumped debhelper version to 7.
+  * Updated the haxe manpage.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 25 May 2009 22:05:05 +0200
+
+haxe (1:2.2-2) unstable; urgency=low
+
+  * Use ocamlfind to locate and use the libraries xml-light and extlib
+    which already exist in Debian as separate packages.
+    (Closes: #519630)
+  * Fixed compile error with camlp4 3.11, thanks to Stéphane Glondu.
+    (Closes: #519627)
+  * Use quilt instead of dpatch for patches, and describe how to use
+    quilt in Debian.source (thanks to Russ Allbery).
+  * Added a Vcs-Hg control filed to indicate the location of the public
+    repository.
+  * Bumped Standards-Version to 3.8.1.
+
+ -- Jens Peter Secher <jps@debian.org>  Wed, 18 Mar 2009 23:09:50 +0100
+
+haxe (1:2.2-1) experimental; urgency=low
+
+  * New upstream release.
+  * Updated install scripts to include OCaml optimisations.
+  * Updated man page to include swf9 option.
+  * Fixed broken bash completion.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 14 Dec 2008 18:22:19 +0100
+
+haxe (1:2.1-1) experimental; urgency=low
+
+  * Fixed build failure when using byte-code version of ocaml.
+    (Closes: #501538)
+  * Synchronise with 2.1 release.
+
+ -- Jens Peter Secher <jps@debian.org>  Thu, 09 Oct 2008 21:30:03 +0200
+
+haxe (1:2.0.1-1) experimental; urgency=low
+
+  * Newest CVS checkout for experimental.
+  * Build against neko 1.8.0.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 05 Oct 2008 11:24:49 +0200
+
+haxe (1:2.0-1~bpo40+1) etch-backports; urgency=low
+
+  * Backport to Etch, which requires dropping the dependency on camlp4
+    and lowering dependency on emacs22 to emacs21.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 03 Aug 2008 14:28:20 +0200
+
+haxe (1:2.0-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Jens Peter Secher <jps@debian.org>  Thu, 31 Jul 2008 13:44:35 +0200
+
+haxe (1:1.19-3) unstable; urgency=low
+
+  * Remove bashism in script.
+    (Closes: #484390)
+  * Upgrade to Policy 3.8.0 by including a README.source explaining how to
+    use dpatch.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 15 Jun 2008 11:04:09 +0200
+
+haxe (1:1.19-2~bpo40+1) etch-backports; urgency=low
+
+  * Backport to Etch, which requires dropping the dependency on camlp4.
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 17 May 2008 15:08:08 +0200
+
+haxe (1:1.19-2) unstable; urgency=low
+
+  * Remove bashism in script.
+    (Closes: #477202)
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 26 Apr 2008 11:31:11 +0200
+
+haxe (1:1.19-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Jens Peter Secher <jps@debian.org>  Thu, 10 Apr 2008 21:47:44 +0200
+
+haxe (1:1.18-1~bpo40+1) etch-backports; urgency=low
+
+  * Backport to Etch, which requires dropping the dependency on camlp4.
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 01 Mar 2008 12:32:55 +0100
+
+haxe (1:1.18-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Jens Peter Secher <jps@debian.org>  Tue, 26 Feb 2008 19:55:05 +0100
+
+haxe (1:1.17-1~bpo40+2) etch-backports; urgency=low
+
+  * Rebuild with fixed neko backport to get dependency right.
+
+ -- Jens Peter Secher <jps@debian.org>  Tue, 05 Feb 2008 22:10:39 +0100
+
+haxe (1:1.17-1~bpo40+1) etch-backports; urgency=low
+
+  * Backport to Etch, which requires dropping the dependency on camlp4.
+
+ -- Jens Peter Secher <jps@debian.org>  Tue, 05 Feb 2008 22:10:39 +0100
+
+haxe (1:1.17-1) unstable; urgency=low
+
+  * New upstream release.
+  * Added a bash completion specification.
+  * Bumped Standards-Version to 3.7.3.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 14 Jan 2008 23:17:46 +0100
+
+haxe (1:1.16-1~bpo40+1) etch-backports; urgency=low
+
+  * Backport to Etch, which requires dropping the dependency on camlp4.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 19 Nov 2007 21:31:56 +0100
+
+haxe (1:1.16-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Jens Peter Secher <jps@debian.org>  Wed, 07 Nov 2007 22:15:33 +0100
+
+haxe (1:1.15-2) unstable; urgency=low
+
+  * Make sure there is a Caml Preprocessor & Pretty Printer (camlp4) when
+    building.
+    (Closes: #441510)
+
+ -- Jens Peter Secher <jps@debian.org>  Mon, 10 Sep 2007 23:18:51 +0200
+
+haxe (1:1.15-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Jens Peter Secher <jps@debian.org>  Wed, 29 Aug 2007 21:28:45 +0200
+
+haxe (1:1.14-3) unstable; urgency=low
+
+  * The bytecode compiler should have the same name as the native
+    compiler, which fixes FTBFS on S390, M68k, Arm, and MIPS.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 29 Jul 2007 15:07:57 +0200
+
+haxe (1:1.14-2) unstable; urgency=low
+
+  * Use $CURDIR everywhere in debian/rules.
+    (Closes: #435026)
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 29 Jul 2007 01:11:06 +0200
+
+haxe (1:1.14-1) unstable; urgency=low
+
+  * New upstream release.
+  * Updated man pages.
+  * Prefer emacs22 over emacs21.
+    (Closes: #434918)
+  * Simplify install, removal, and load-path by using symlinks instead of
+    copying source files.
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 28 Jul 2007 11:43:58 +0200
+
+haxe (1:1.13-1bpo1) stable; urgency=low
+
+  * Backport to etch (no change).
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 27 May 2007 10:58:46 +0200
+
+haxe (1:1.13-1) unstable; urgency=low
+
+  * New upstream release.
+  * Updated man pages.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 27 May 2007 00:44:04 +0200
+
+haxe (1:1.12-1) unstable; urgency=low
+
+  * Switched to upstream version numbers.
+  * New version of haxe-mode.el which is now properly setup for emacsen
+    (but only for emacs-snapshot or emacs22, since haxe-mode depends on a
+    recent cc-mode).
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 18 Mar 2007 15:25:36 +0100
+
+haxe (20070307-1) experimental; urgency=low
+
+  * New upstream release (~1.12).
+  * Updated man page accordingly.
+
+ -- Jens Peter Secher <jps@debian.org>  Wed,  7 Mar 2007 00:30:04 +0100
+
+haxe (20070224-1) experimental; urgency=low
+
+  * New upstream release (~1.11) matches Neko version 1.5.3.
+  * New version of haxe-mode for Emacs.
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 24 Feb 2007 16:10:56 +0100
+
+haxe (20070106-1) experimental; urgency=low
+
+  * New upstream release (~1.10).
+  * Updated manpages.
+  * Include haxe-mode for Emacs.
+  
+ -- Jens Peter Secher <jps@debian.org>  Sat,  6 Jan 2007 19:01:42 +0100
+
+haxe (20061201-1) experimental; urgency=low
+
+  * New upstream release.
+  * Include lintian overrides for unstripped bytecode files.
+
+ -- Jens Peter Secher <jps@debian.org>  Fri,  1 Dec 2006 19:18:02 +0100
+
+haxe (20061106-1bpo1) stable; urgency=low
+
+  * Change the dependencies to backport to Sarge.
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 12 Nov 2006 15:16:31 +0100
+
+haxe (20061106-1) experimental; urgency=low
+
+  * New upstream release (~1.08).
+     - Fixes flash6 code generation. 
+       (Closes: #396141)
+  * Use neko to build haxelib and haxedoc executables, both of which
+    searches for the libneko.so by use of -rpath in /usr/lib/neko since we
+    do not want this private library to end up in /usr/lib.
+
+ -- Jens Peter Secher <jps@debian.org>  Mon,  6 Nov 2006 18:21:09 +0100
+
+haxe (20060912-2) unstable; urgency=low
+
+  * Fixed build failure on architectures without a native ocaml compiler.
+  * Added Tag field to control file to test Enrico Zini's
+    debtags-updatecontrol.
+  * Changed description to match that on haxe.org .
+
+ -- Jens Peter Secher <jps@debian.org>  Wed, 13 Sep 2006 09:38:12 +0200
+
+haxe (20060912-1) unstable; urgency=low
+
+  * New upstream release (1.07).
+
+ -- Jens Peter Secher <jps@debian.org>  Tue, 12 Sep 2006 21:39:22 +0200
+
+haxe (20060715-2) unstable; urgency=low
+
+  * Fixed build failure on architectures without a native ocaml compiler,
+    thanks to Samuel Mimram and Paul Wise.
+    (Closes: #378373)
+  * Fixed misspelling in package description.
+    (Closes: #378631)  
+  * Updated manual page.
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 22 Jul 2006 10:39:48 +0200
+
+haxe (20060715-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Jens Peter Secher <jps@debian.org>  Sat, 15 Jul 2006 11:13:35 +0200
+
+haxe (20060606-2) experimental; urgency=low
+
+  * Avoid splitting off the arch-independent library files into a separate
+    package.
+
+ -- Jens Peter Secher <jps@debian.org>  Wed,  7 Jun 2006 23:05:35 +0200
+
+haxe (20060606-1) experimental; urgency=low
+
+  * Included all copyright holders from the OCaml Extended standard
+    Library (ExtLib).
+  * Bumped Standards-Version to 3.7.2.
+
+ -- Jens Peter Secher <jps@debian.org>  Tue,  6 Jun 2006 21:50:56 +0200
+
+haxe (1.0-1) experimental; urgency=low
+
+  * Inital package.
+    (Closes: #365425).
+
+ -- Jens Peter Secher <jps@debian.org>  Sun, 30 Apr 2006 00:17:24 +0200
--- haxe-2.4.orig/debian/control
+++ haxe-2.4/debian/control
@@ -0,0 +1,21 @@
+Source: haxe
+Section: devel
+Priority: optional
+Maintainer: Jens Peter Secher <jps@debian.org>
+Standards-Version: 3.8.3
+Build-Depends: debhelper (>= 7), quilt, ocaml, ocaml-best-compilers | ocaml-native-compilers, ocaml-findlib, libextlib-ocaml-dev, libxml-light-ocaml-dev, camlp4, zlib1g-dev, neko (>= 1.8.1)
+Vcs-Hg: http://hg.debian.org/hg/collab-maint/haxe/haxe
+Homepage: http://haxe.org
+
+Package: haxe
+Architecture: any
+Section: devel
+Depends: ${shlibs:Depends}, ${ocaml:Depends}
+Description: Web-oriented universal programming language
+ Programming language similar to JavaScript, but with full-featured
+ static type system and generics.  The command-line compiler can
+ generate Flash SWF files for client-side use, Neko bytecode for
+ server-side use on Apache, or JavaScript/PHP using Browser DHTML API
+ to create AJAX web applications.
+ .
+ haXe was written by Nicolas Cannasse.
--- haxe-2.4.orig/debian/README.source
+++ haxe-2.4/debian/README.source
@@ -0,0 +1,49 @@
+This package uses quilt to manage all modifications to the upstream
+source.  Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+    quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+    quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches.  Then, for every file that will be modified by this patch,
+run:
+
+    quilt add <file>
+
+before editing those files.  You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly.  After editing the files, run:
+
+    quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+    quilt import -P <patch> /path/to/patch
+    quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches.  The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+    quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
+
+ -- Jens Peter Secher <jps@debian.org>, Wed, 18 Mar 2009 23:10:12 +0100
--- haxe-2.4.orig/debian/install_bytecode.ml
+++ haxe-2.4/debian/install_bytecode.ml
@@ -0,0 +1,127 @@
+(* 
+ * This file is based on http://haxe.org/file/install.ml and
+ * was modified by Jens Peter Secher for the Debian distribution 
+ * to use ocamlfind to locate external ocaml libraries.  Also,
+ * all non-unix setup was removed.  The original file had the
+ * following boilerplate:
+ *)
+
+(*
+ *  Haxe installer
+ *  Copyright (c)2005 Nicolas Cannasse
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *)
+
+#load "unix.cma"
+
+(* ----- BEGIN CONFIGURATION ---- *)
+
+let bytecode = true
+let native = false
+
+(* ------ END CONFIGURATION ----- *)
+
+let ocamloptflags = "-cclib -fno-stack-protector "
+
+let zlib = 
+	try
+		List.find Sys.file_exists ["/usr/lib64/libz.so.1";"/usr/lib/libz.so.1";"/usr/lib/libz.so"]
+	with
+		Not_found ->
+			failwith "LibZ was not found on your system, please install it or modify the search directories in the install script"
+
+let msg m =
+	prerr_endline m;
+	flush stdout
+
+let command c =
+	msg ("> " ^ c);
+	if Sys.command c <> 0 then failwith ("Error while running " ^ c)
+
+let ocamlc file =
+	if bytecode then command ("ocamlfind ocamlc -c " ^ file);
+	if native then command ("ocamlfind ocamlopt -c " ^ ocamloptflags ^ file)
+
+let modules l ext =
+	String.concat " " (List.map (fun f -> f ^ ext) l)
+
+;;
+
+let compile_libs() =
+	(* EXTC *)
+	Sys.chdir "ocaml/extc";
+	let c_opts = (if Sys.ocaml_version < "3.08" then " -ccopt -Dcaml_copy_string=copy_string " else " ") in
+	command ("ocamlc" ^ c_opts ^ " -I .." ^ " extc_stubs.c");
+
+	let options = "-cclib ../ocaml/extc/extc_stubs.o" ^ " -cclib " ^ zlib ^ " extc.mli extc.ml" in
+	if bytecode then command ("ocamlc -a -o extc.cma " ^ options);
+	if native then command ("ocamlopt -a -o extc.cmxa " ^ options);
+	Sys.chdir "../..";
+
+	(* SWFLIB *)
+	Sys.chdir "ocaml/swflib";
+	let files = "-I .. -I ../extc as3.mli as3hl.mli as3code.ml as3parse.ml as3hlparse.ml swf.ml swfZip.ml actionScript.ml swfParser.ml" in
+	if bytecode then command ("ocamlfind ocamlc -a -o swflib.cma -package extlib " ^ files);
+	if native then command ("ocamlfind ocamlopt -a -o swflib.cmxa -package extlib " ^ files);
+	Sys.chdir "../..";
+
+in
+
+let compile() =
+
+	(try Unix.mkdir "bin" 0o740 with Unix.Unix_error(Unix.EEXIST,_,_) -> ());
+
+	compile_libs();
+
+	(* HAXE *)
+	Sys.chdir "haxe";
+	command "ocamllex lexer.mll";
+	let libs = [
+		"../ocaml/extc/extc";
+		"../ocaml/swflib/swflib";
+		"unix";
+		"str"
+	] in
+	let neko = "../neko/libs/include/ocaml" in
+	let paths = [
+		"../ocaml";
+		"../ocaml/swflib";
+		"../ocaml/extc";
+		neko
+	] in
+	let mlist = [
+		"ast";"lexer";"type";"common";"parser";"typecore";
+		"genxml";"typeload";"codegen";"optimizer";"typer";
+		neko^"/nast";neko^"/binast";neko^"/nxml";
+		"genneko";"genas3";"genjs";"genswf8";"genswf9";"genswf";"genphp";"gencpp";
+		"main";
+	] in
+	let pkgs_str = " -linkpkg -package extlib,xml-light" in
+	let path_str = String.concat " " (List.map (fun s -> "-I " ^ s) paths) in
+	let libs_str ext = " " ^ String.concat " " (List.map (fun l -> l ^ ext) libs) ^ " " in
+	ocamlc (path_str ^ pkgs_str ^ " -pp camlp4o " ^ modules mlist ".ml");
+	if bytecode then command ("ocamlfind ocamlc -custom -o ../bin/haxe" ^ pkgs_str ^ libs_str ".cma" ^ modules mlist ".cmo");
+	if native then command ("ocamlfind ocamlopt -o ../bin/haxe" ^ pkgs_str ^ libs_str ".cmxa" ^ modules mlist ".cmx");
+
+in
+let startdir = Sys.getcwd() in
+try
+	compile();
+	Sys.chdir startdir;
+with
+	Failure msg ->
+		Sys.chdir startdir;
+		prerr_endline msg; exit 1
--- haxe-2.4.orig/debian/emacsen-remove
+++ haxe-2.4/debian/emacsen-remove
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/haxe-mode
+FLAVOR=$1
+PACKAGE=haxe-mode
+if [ ${FLAVOR} = emacs22 -o ${FLAVOR} = emacs23 -o ${FLAVOR} = emacs-snapshot ]; then
+    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
+exit 0
--- haxe-2.4.orig/debian/haxe.1
+++ haxe-2.4/debian/haxe.1
@@ -0,0 +1,130 @@
+.TH HAXE 1 "Aug 01, 2009" ""
+.SH NAME
+haxe \- compile haXe programs to SWF, Neko, JavaScript, PHP, or C++.
+.SH SYNOPSIS
+\fBhaxe\fR [options...] \fIclass_names\fR ...
+.SH DESCRIPTION
+.B haxe
+is a command-line compiler which compiles haXe programs into client-side
+Flash SWF, server-side Neko bytecode in Apache, or simply JavaScript.
+.PP
+haXe programs are similar to JavaScript, but have a full-featured type
+system and generics.
+.SH OPTIONS
+.TP
+.BI "\-cp " path
+Add a directory to find source files.
+.TP
+.BI "\-js " file
+Compile code to JavaScript file.
+.TP
+.BI "\-swf " file
+Compile code to Flash SWF file.
+.TP
+.BI "\-swf9 " file
+Compile code to Flash9 SWF file.
+.TP
+.BI "\-as3 " directory
+Generate AS3 code into target directory.
+.TP
+.BI "\-neko " file
+Compile code to Neko Binary.
+.TP
+.BI "\-php " file
+Generate PHP code into target directory.
+.TP
+.BI "\-cpp " file
+Generate C++ code into target directory.
+.TP
+.BI "\-xml " file
+Generate XML types description.
+.TP
+.BI "\-main " class
+Select startup class.
+.TP
+.BI "\-lib " library[:version]
+Use a haxelib library.
+.TP
+.BI "\-D " var
+Define a conditional compilation flag.
+.TP
+.B "\-v"
+Turn on verbose mode.
+.TP
+.B "\-debug"
+Add debug informations to the compiled code.
+.TP
+.BI "\-swf\-version " version
+Change the SWF version (6 to 10).
+.TP
+.BI "\-swf\-header " header
+Define SWF header (width:height:fps:color).
+.TP
+.BI "\-swf\-lib " file
+Add the SWF library to the compiled SWF.
+.TP
+.BI "\-x " file
+Shortcut for compiling and executing a neko file.
+.TP
+.BI "\-resource " file[@name]
+Add a named resource file.
+.TP
+.BI "\-exclude " filename
+Do not generate code for classes listed in this file.
+.TP
+.B "\-prompt"
+Prompt on error.
+.TP
+.B "\-cmd"
+Run the specified command after successful compilation.
+.TP
+.B "\-\-flash\-strict"
+More type strict flash API.
+.TP
+.B "\-\-no\-traces"
+Do not compile trace calls in the program.
+.TP
+.B "\-\-flash\-use\-stage"
+Place objects found on the stage of the SWF lib.
+.TP
+.B "\-\-neko\-source"
+Keep generated neko source.
+.TP
+.BI "\-\-gen\-hx\-classes " file
+Generate hx headers from SWF9 file.
+.TP
+.B "\-\-next"
+Separate several haxe compilations.
+.TP
+.B "\-\-display"
+Display code tips.
+.TP
+.B "\-\-no\-output"
+Compiles but does not generate any file.
+.TP
+.B "\-\-times"
+Measure compilation times.
+.TP
+.B "\-\-no-inline"
+Disable inlining.
+.TP
+.B "\-\-no-opt"
+Disable code optimizations.
+.TP
+.BI "\-\-php-front " file
+Select the name for the php front file.
+.TP
+.BI "\-\-remap " package:target
+Remap a package to another one.
+.TP
+.B "\-help"
+Display this list of options.
+.TP
+.B "\-\-help"
+Display this list of options.
+.SH AUTHOR
+haXe is written by Nicolas Cannasse for Motion-Twin.
+.SH SEE ALSO
+.BR "haxelib" (1),
+.BR "haxedoc" (1).
+.IR "http://haxe.org" .
--- haxe-2.4.orig/debian/compat
+++ haxe-2.4/debian/compat
@@ -0,0 +1 @@
+7
--- haxe-2.4.orig/debian/haxedoc.1
+++ haxe-2.4/debian/haxedoc.1
@@ -0,0 +1,14 @@
+.TH HAXEDOC 1 "Nov 6, 2006" ""
+.SH NAME
+haxedoc \- Haxe Documentation Generator
+.SH SYNOPSIS
+\fBhaxedoc\fR [xmlfiles...] [\fB-f \fIfilter\fR]
+.SH DESCRIPTION
+.PP
+haxedoc is a command-line tool to produce documentation from haXe programs.
+.SH AUTHOR
+haXe is written by Nicolas Cannasse for Motion-Twin.
+.SH SEE ALSO
+.BR "haxe" (1),
+.SH WEB
+.IR "http://haxe.org" .
--- haxe-2.4.orig/debian/haxelib.1
+++ haxe-2.4/debian/haxelib.1
@@ -0,0 +1,72 @@
+.TH HAXELIB 1 "Nov 6, 2006" ""
+.SH NAME
+haxelib \- Haxe Library Manager
+.SH SYNOPSIS
+.BR "haxelib " "[command] [options...]"
+.SH DESCRIPTION
+.PP
+haxelib is a command-line tool to manage both the global repository and your
+local repository of haXe libraries and projects.
+.SH COMMANDS
+.TP
+.BI "install " "library [version]"
+Install a given library from the global repository.  Once a project is
+installed, you can simply use \fBhaxe \-lib \fR\fB\fIlibrary\fR
+\fI...\fR to be able to use it from your application.  By default, this
+is the current version of the project that is used.  If you want to use
+a specific version of the project, use \fBhaxe \-lib
+\fIlibrary\fR:\fIversion\fR ...
+.TP
+.B "list"
+List all installed libraries and their versions.
+.TP
+.B "upgrade"
+Upgrade all installed libraries to their latest version.
+.TP
+.BI "remove " "library [version]"
+Remove a given library.
+.TP
+.BI "set " "library [version]"
+Set the current version for a library. The version must be already installed.
+.TP
+.BI "search " word
+List global libraries matching a word.
+.TP
+.BI "info " library
+List informations on a given library.
+.TP
+.BI "user " library
+List informations on a given user on the global repository.
+.TP
+.BI "register " name
+Register a new user in the global repository.
+.TP
+.BI "submit " library
+Submit or update a library to the global repository.
+.TP
+.B "setup"
+Set the haxelib repository path.
+.TP
+.BI "config " library
+Print the local repository path.
+.TP
+.BI "path " libraries...
+List the path to the given libraries.
+.TP
+.BI "run " "library [arguments...]"
+Run the specified library with arguments if it provides a run script. Be
+careful about trusting libraries this way since the script can damage
+your system.
+.TP
+.BI "test " library
+install the specified library locally.
+.TP
+.BI "dev"
+Set the development directory for a given project.
+.SH AUTHOR
+haXe is written by Nicolas Cannasse for Motion-Twin.
+.SH SEE ALSO
+.BR "haxe" (1),
+.BR "haxedoc" (1).
+.SH WEB
+.IR "http://haxe.org" .
--- haxe-2.4.orig/debian/install_native.ml
+++ haxe-2.4/debian/install_native.ml
@@ -0,0 +1,127 @@
+(* 
+ * This file is based on http://haxe.org/file/install.ml and
+ * was modified by Jens Peter Secher for the Debian distribution 
+ * to use ocamlfind to locate external ocaml libraries.  Also,
+ * all non-unix setup was removed.  The original file had the
+ * following boilerplate:
+ *)
+
+(*
+ *  Haxe installer
+ *  Copyright (c)2005 Nicolas Cannasse
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *)
+
+#load "unix.cma"
+
+(* ----- BEGIN CONFIGURATION ---- *)
+
+let bytecode = false
+let native = true
+
+(* ------ END CONFIGURATION ----- *)
+
+let ocamloptflags = "-cclib -fno-stack-protector "
+
+let zlib = 
+	try
+		List.find Sys.file_exists ["/usr/lib64/libz.so.1";"/usr/lib/libz.so.1";"/usr/lib/libz.so"]
+	with
+		Not_found ->
+			failwith "LibZ was not found on your system, please install it or modify the search directories in the install script"
+
+let msg m =
+	prerr_endline m;
+	flush stdout
+
+let command c =
+	msg ("> " ^ c);
+	if Sys.command c <> 0 then failwith ("Error while running " ^ c)
+
+let ocamlc file =
+	if bytecode then command ("ocamlfind ocamlc -c " ^ file);
+	if native then command ("ocamlfind ocamlopt -c " ^ ocamloptflags ^ file)
+
+let modules l ext =
+	String.concat " " (List.map (fun f -> f ^ ext) l)
+
+;;
+
+let compile_libs() =
+	(* EXTC *)
+	Sys.chdir "ocaml/extc";
+	let c_opts = (if Sys.ocaml_version < "3.08" then " -ccopt -Dcaml_copy_string=copy_string " else " ") in
+	command ("ocamlc" ^ c_opts ^ " -I .." ^ " extc_stubs.c");
+
+	let options = "-cclib ../ocaml/extc/extc_stubs.o" ^ " -cclib " ^ zlib ^ " extc.mli extc.ml" in
+	if bytecode then command ("ocamlc -a -o extc.cma " ^ options);
+	if native then command ("ocamlopt -a -o extc.cmxa " ^ options);
+	Sys.chdir "../..";
+
+	(* SWFLIB *)
+	Sys.chdir "ocaml/swflib";
+	let files = "-I .. -I ../extc as3.mli as3hl.mli as3code.ml as3parse.ml as3hlparse.ml swf.ml swfZip.ml actionScript.ml swfParser.ml" in
+	if bytecode then command ("ocamlfind ocamlc -a -o swflib.cma -package extlib " ^ files);
+	if native then command ("ocamlfind ocamlopt -a -o swflib.cmxa -package extlib " ^ files);
+	Sys.chdir "../..";
+
+in
+
+let compile() =
+
+	(try Unix.mkdir "bin" 0o740 with Unix.Unix_error(Unix.EEXIST,_,_) -> ());
+
+	compile_libs();
+
+	(* HAXE *)
+	Sys.chdir "haxe";
+	command "ocamllex lexer.mll";
+	let libs = [
+		"../ocaml/extc/extc";
+		"../ocaml/swflib/swflib";
+		"unix";
+		"str"
+	] in
+	let neko = "../neko/libs/include/ocaml" in
+	let paths = [
+		"../ocaml";
+		"../ocaml/swflib";
+		"../ocaml/extc";
+		neko
+	] in
+	let mlist = [
+		"ast";"lexer";"type";"common";"parser";"typecore";
+		"genxml";"typeload";"codegen";"optimizer";"typer";
+		neko^"/nast";neko^"/binast";neko^"/nxml";
+		"genneko";"genas3";"genjs";"genswf8";"genswf9";"genswf";"genphp";"gencpp";
+		"main";
+	] in
+	let pkgs_str = " -linkpkg -package extlib,xml-light" in
+	let path_str = String.concat " " (List.map (fun s -> "-I " ^ s) paths) in
+	let libs_str ext = " " ^ String.concat " " (List.map (fun l -> l ^ ext) libs) ^ " " in
+	ocamlc (path_str ^ pkgs_str ^ " -pp camlp4o " ^ modules mlist ".ml");
+	if bytecode then command ("ocamlfind ocamlc -custom -o ../bin/haxe" ^ pkgs_str ^ libs_str ".cma" ^ modules mlist ".cmo");
+	if native then command ("ocamlfind ocamlopt -o ../bin/haxe" ^ pkgs_str ^ libs_str ".cmxa" ^ modules mlist ".cmx");
+
+in
+let startdir = Sys.getcwd() in
+try
+	compile();
+	Sys.chdir startdir;
+with
+	Failure msg ->
+		Sys.chdir startdir;
+		prerr_endline msg; exit 1
--- haxe-2.4.orig/debian/haxe.install
+++ haxe-2.4/debian/haxe.install
@@ -0,0 +1,4 @@
+haxe/std/* usr/share/haxe
+haxedoc usr/bin
+haxelib usr/bin
+bin/haxe usr/bin
--- haxe-2.4.orig/debian/copyright
+++ haxe-2.4/debian/copyright
@@ -0,0 +1,89 @@
+This is the Debian packaging of the haXe compiler, compiled by Jens
+Peter Secher <jps@debian.org>.
+
+The original source was extracted from the public CVS repository
+(:pserver:anonymous@cvs.motion-twin.com:/cvsroot) as described in the
+get-orig-source target in the debian/rules file of the Debian source
+package.
+
+---[ haXe compiler License begin ]---
+
+  Copyright (c)2005 Nicolas Cannasse
+
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 2 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, 
+  USA.
+
+---[ haXe compiler License end ]---
+
+The full GNU General Public License is located in the file
+/usr/share/common-licenses/GPL-2 on a Debian system.
+
+
+The haXe compile-time library in /usr/share/haxe is distributed under
+the following license.
+
+---[ haXe library license begin ]---
+
+  Copyright (c) 2005, The haXe Project Contributors
+  All rights reserved.
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    - Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    - Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE HAXE PROJECT CONTRIBUTORS "AS IS" AND ANY
+  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  DISCLAIMED. IN NO EVENT SHALL THE HAXE PROJECT CONTRIBUTORS BE LIABLE FOR
+  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+  DAMAGE.
+
+---[ haXe library license end ]---
+
+
+The Emacs mode for haXe was written by yours truly and has the
+following license.
+
+---[ haxe-mode license begin ]---
+
+  Copyright (C) 2006-2009 Jens Peter Secher
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+---[ haxe-mode license end ]---
+
+
+The full GNU General Public License is located in the file
+/usr/share/common-licenses/GPL-3 on a Debian system.
--- haxe-2.4.orig/debian/emacsen-install
+++ haxe-2.4/debian/emacsen-install
@@ -0,0 +1,32 @@
+#!/bin/sh -e
+#/usr/lib/emacsen-common/packages/install/haxe-mode
+
+FLAVOR=$1
+if [ ${FLAVOR} != emacs22 -a ${FLAVOR} != emacs23 -a ${FLAVOR} != emacs-snapshot ]; then
+    exit 0;
+fi
+
+PACKAGE=haxe-mode
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+# The byte-compiled files goes into the site-lisp directory.
+BCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+install -m 755 -d ${BCDIR}
+
+# The elisp source files are in the generic site-list directory.
+SRCDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+SRC=`find ${SRCDIR} -name '*.el' -exec basename '{}' ';'`
+
+# Prepare for byte-compiling the source files.
+cd ${BCDIR}
+ln -sf ${SRCDIR}/*.el .
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+
+# Byte-compile elisp files.
+FLAGS="--no-site-file --no-init-file --batch -l path.el -f batch-byte-compile"
+${FLAVOR} ${FLAGS} ${SRC}
+rm -f path.el
+
+exit 0
--- haxe-2.4.orig/debian/haxe-mode.el
+++ haxe-2.4/debian/haxe-mode.el
@@ -0,0 +1,328 @@
+;;; Commentary:
+
+;; ------------------------------------------------------------------------
+;; Copyright (C) 2006-2009 Jens Peter Secher
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;; ------------------------------------------------------------------------
+
+;; This is haxe-mode, an Emacs major mode for the haXe programming
+;; language (http://haxe.org).
+
+;; haxe-mode is built on top of the excellent cc-mode, inspired by the
+;; guide http://cc-mode.sourceforge.net/derived-mode-ex.el.
+
+;; haxe-mode is NOT part of GNU Emacs.
+
+;;; Versions:
+;;
+;;    0.1.0 - Initial release.
+;;    0.1.1 - Fixed typedef indentation.
+;;            Fixed lexical analysis so that type names can contain digits.
+;;    0.2.0 - Base on java-mode instead of c++-mode.
+;;            Added compile-error parser for the haXe compiler output.
+;;            Loads of improvements.
+;;    0.2.1 - Fix buffer-local comment-start-skip problem.
+;;    0.2.2 - Recognise keyword override.
+;;    0.3.0 - Switched to GPLv3 license because that is what cc-mode is using.
+;;    0.3.1 - Fix compile problem with emacs23.
+;;
+
+;;; Usage:
+;;
+;; Include something like this in your .emacs:
+;; (require 'haxe-mode)
+;; (defconst my-haxe-style
+;;   '("java" (c-offsets-alist . ((case-label . +)
+;;                                (arglist-intro . +)
+;;                                (arglist-cont-nonempty . 0)
+;;                                (arglist-close . 0)
+;;                                (cpp-macro . 0))))
+;;   "My haXe Programming Style")
+;; (add-hook 'haxe-mode-hook
+;;   (function (lambda () (c-add-style "haxe" my-haxe-style t))))
+;; (add-hook 'haxe-mode-hook
+;;           (function
+;;            (lambda ()
+;;              (setq tab-width 4)
+;;              (setq indent-tabs-mode t)
+;;              (setq fill-column 80)
+;;              (local-set-key [(return)] 'newline-and-indent))))
+
+
+;;; Code:
+
+(require 'cc-mode)
+(require 'cc-fonts)
+(require 'cc-langs)
+(require 'cc-bytecomp)
+(require 'compile)
+
+;; The language constants are needed when compiling.
+(eval-when-compile
+  (let ((load-path
+         (if (and (boundp 'byte-compile-dest-file)
+                  (stringp byte-compile-dest-file))
+             (cons (file-name-directory byte-compile-dest-file) load-path)
+           load-path)))
+    (load "cc-mode" nil t)
+    (load "cc-fonts" nil t)
+    (load "cc-langs" nil t)
+    (load "cc-bytecomp" nil t)))
+
+(eval-and-compile
+  ;; Tell the language constant system about haXe and base it on Java.
+  (c-add-language 'haxe-mode 'java-mode))
+
+;;; Lexer-level syntax (identifiers, tokens etc).
+
+;; No other operators in identifiers.
+(c-lang-defconst c-after-id-concat-ops
+  haxe nil)
+
+;; Conditional compilation prefix.
+(c-lang-defconst c-opt-cpp-prefix
+  haxe "\\s *#")
+
+;; No strings in conditional compilation.
+(c-lang-defconst c-cpp-message-directives
+  haxe nil)
+
+;; No file name in angle brackets or quotes in conditional compilation.
+(c-lang-defconst c-cpp-include-directives
+  haxe nil)
+
+;; No macro definition in conditional compilation.
+(c-lang-defconst c-opt-cpp-macro-define
+  haxe nil)
+
+;; Conditional compilation directives followed by expressions.
+(c-lang-defconst c-cpp-expr-directives
+  haxe '("if" "else"))
+
+;; No functions in conditional compilation.
+(c-lang-defconst c-cpp-expr-functions
+  haxe nil)
+
+;; haXe operators.
+(c-lang-defconst c-operators
+  haxe `(
+         ;; Preprocessor.
+         (prefix "#")
+         ;; Standard operators.
+         ,@(c-lang-const c-identifier-ops)
+         ;; Generics.
+         (postfix-if-paren "<" ">")
+         ;; Postfix.
+         (left-assoc "." "->")
+         (postfix "++" "--" "[" "]" "(" ")")
+         ;; Unary.
+         (prefix "++" "--" "+" "-" "!" "~" "new")
+         ;; Multiplicative.
+         (left-assoc "*" "/" "%")
+         ;; Additive.
+         (left-assoc "+" "-")
+         ;; Shift.
+         (left-assoc "<<" ">>" ">>>")
+         ;; Relational.
+         (left-assoc "<" ">" "<=" ">=")
+         ;; Iteration.
+         (left-assoc "...")
+         ;; Equality.
+         (left-assoc "==" "!=" "===" "!==")
+         ;; Bitwise and.
+         (left-assoc "&")
+         ;; Bitwise exclusive or.
+         (left-assoc "^")
+         ;; Bitwise or.
+         (left-assoc "|")
+         ;; Logical and.
+         (left-assoc "&&")
+         ;; Logical or.
+         (left-assoc "||")
+         ;; Assignment.
+         (right-assoc ,@(c-lang-const c-assignment-operators))
+         ;; Exception.
+         (prefix "throw")
+         ;; Sequence.
+         (left-assoc ",")))
+
+;; No overloading.
+(c-lang-defconst c-overloadable-operators
+  haxe nil)
+(c-lang-defconst c-opt-op-identitier-prefix
+  haxe nil)
+
+;;; Keywords.
+
+;; I will treat types uniformly below since they all start with capital
+;; letters.
+(c-lang-defconst c-primitive-type-kwds
+  haxe nil)
+
+;; TODO: check double occurrence of enum.
+;; Type-introduction is straight forward in haXe.
+(c-lang-defconst c-class-decl-kwds
+  haxe '( "class" "interface" "enum" "typedef" ))
+
+;; Recognises enum constants.
+;; TODO: find a way to also recognise parameterised constants.
+(c-lang-defconst c-brace-list-decl-kwds
+  haxe '( "enum" ))
+
+;; Keywords introducing declarations where the identifier follows directly
+;; after the keyword, without any type.
+(c-lang-defconst c-typeless-decl-kwds
+  haxe (append '( "function" "var" )
+               (c-lang-const c-class-decl-kwds)
+	       (c-lang-const c-brace-list-decl-kwds)))
+  
+;; Definition modifiers.
+(c-lang-defconst c-modifier-kwds
+  haxe '( "private" "public" "static" "override"))
+(c-lang-defconst c-other-decl-kwds
+  haxe nil)
+
+;; Namespaces.
+(c-lang-defconst c-ref-list-kwds
+ haxe '( "import" "package"))
+
+;; Statement keywords followed directly by a substatement.
+(c-lang-defconst c-block-stmt-1-kwds
+  haxe '( "do" "else" "try" ))
+
+;; Statement keywords followed by a paren sexp and then by a substatement.
+(c-lang-defconst c-block-stmt-2-kwds
+  haxe '( "for" "if" "switch" "while" "catch" ))
+
+;; Statement keywords followed by an expression or nothing.
+(c-lang-defconst c-simple-stmt-kwds
+  haxe '( "break" "continue" "return" "default" "new" ))
+
+;; No ';' inside 'for'.
+(c-lang-defconst c-paren-stmt-kwds
+  haxe nil)
+
+;; Keywords for constants.
+(c-lang-defconst c-constant-kwds
+  haxe '( "false" "true" "null" ))
+
+;; Keywords for expressions.
+(c-lang-defconst c-primary-expr-kwds
+  haxe '( "this" "super" ))
+
+(c-lang-defconst c-decl-hangon-kwds
+  haxe '( "in" ))
+
+;; No other labels.
+(c-lang-defconst c-before-label-kwds
+  haxe nil)
+
+;; No classes inside expressions.
+(c-lang-defconst c-inexpr-class-kwds
+  haxe nil)
+
+;; No brace lists inside expressions.
+(c-lang-defconst c-inexpr-brace-list-kwds
+  haxe nil)
+
+;; All identifiers starting with a capital letter are types.
+(c-lang-defconst c-cpp-matchers
+  haxe (append
+        (c-lang-const c-cpp-matchers c)
+        '(("\\<\\([A-Z][A-Za-z0-9_]*\\)\\>" 1 font-lock-type-face))))
+
+;; Generic types.
+(c-lang-defconst c-recognize-<>-arglists
+  haxe t)
+
+;; Fontification degrees.
+(defconst haxe-font-lock-keywords-1 (c-lang-const c-matchers-1 haxe)
+  "Minimal highlighting for haxe mode.")
+(defconst haxe-font-lock-keywords-2 (c-lang-const c-matchers-2 haxe)
+  "Fast normal highlighting for haxe mode.")
+(defconst haxe-font-lock-keywords-3 (c-lang-const c-matchers-3 haxe)
+  "Accurate normal highlighting for haxe mode.")
+(defvar haxe-font-lock-keywords haxe-font-lock-keywords-3
+  "Default expressions to highlight in haxe mode.")
+
+(defvar haxe-mode-syntax-table nil
+  "Syntax table used in HaXe mode buffers.")
+(or haxe-mode-syntax-table
+    (setq haxe-mode-syntax-table
+          (funcall (c-lang-const c-make-mode-syntax-table haxe))))
+
+(defvar haxe-mode-abbrev-table nil
+  "Abbreviation table used in haxe mode buffers.")
+(c-define-abbrev-table 'haxe-mode-abbrev-table
+  ;; Keywords that, if they occur first on a line, might alter the
+  ;; syntactic context, and which therefore should trigger
+  ;; reindentation when they are completed.
+  '(("else" "else" c-electric-continued-statement 0)
+    ("while" "while" c-electric-continued-statement 0)
+    ("catch" "catch" c-electric-continued-statement 0)))
+
+(defvar haxe-mode-map ()
+  "Keymap used in haxe mode buffers.")
+(if haxe-mode-map
+    nil
+  (setq haxe-mode-map (c-make-inherited-keymap)))
+
+(add-to-list 'auto-mode-alist '("\\.hx\\'" . haxe-mode))
+
+;; Tell compilation-mode how to parse error messages.  You need to set
+;; compilation-error-screen-columns to nil to get the right
+;; interpretation of tabs.
+(add-to-list 'compilation-error-regexp-alist
+             '("^\\([^: ]+\\):\\([0-9]+\\): characters \\([0-9]+\\)-[0-9]+ : "
+               1 2 3))
+
+(defcustom haxe-mode-hook nil
+  "*Hook called by `haxe-mode'."
+  :type 'hook
+  :group 'c)
+
+(defun haxe-mode ()
+  "Major mode for editing haXe code.
+
+The hook `c-mode-common-hook' is run with no args at mode
+initialization, then `haxe-mode-hook'.
+
+Key bindings:
+\\{haxe-mode-map}"
+  (interactive)
+  (kill-all-local-variables)
+  (c-initialize-cc-mode t)
+  (set-syntax-table haxe-mode-syntax-table)
+  (setq major-mode 'haxe-mode
+        mode-name "haXe"
+        local-abbrev-table haxe-mode-abbrev-table
+        abbrev-mode t)
+  (use-local-map haxe-mode-map)
+  ;; `c-init-language-vars' is a macro that is expanded at compile
+  ;; time to a large `setq' with all the language variables and their
+  ;; customized values for our language.
+  (c-init-language-vars haxe-mode)
+  ;; `c-common-init' initializes most of the components of a CC Mode
+  ;; buffer, including setup of the mode menu, font-lock, etc.
+  ;; There's also a lower level routine `c-basic-common-init' that
+  ;; only makes the necessary initialization to get the syntactic
+  ;; analysis and similar things working.
+  (c-common-init 'haxe-mode)
+  (run-hooks 'c-mode-common-hook 'haxe-mode-hook)
+  (c-update-modeline))
+
+(provide 'haxe-mode)
+
+;;; haxe-mode.el ends here.
--- haxe-2.4.orig/debian/rules
+++ haxe-2.4/debian/rules
@@ -0,0 +1,90 @@
+#!/usr/bin/make -f
+# debian/rules for haXe.
+
+package := $(firstword $(shell dh_listpackages))
+
+# Do we have a native ocaml compiler?  If not, use bytecode.
+ifeq ($(shell test -x /usr/bin/ocamlopt -o -x /usr/bin/ocamlopt.opt && echo true),true)
+  OCAMLTYPE = install_native.ml
+  OCAMLSTRIP =
+  OCAMLDEPS = ocaml:Depends=
+else
+  OCAMLTYPE = install_bytecode.ml
+  OCAMLSTRIP = -Xhaxe
+  OCAMLDEPS = ocaml:Depends=ocaml-base-nox-$(shell ocamlfind ocamlc -version)
+endif
+
+# The upstream CVS repository.
+motiontwin := :pserver:anonymous@cvs.motion-twin.com:/cvsroot
+cvs := cvs -z3 -d $(motiontwin)
+version := $(shell dpkg-parsechangelog | grep ^Version | cut -d' ' -f2 | cut -d':' -f2 | cut -d'-' -f1)
+date := 2009-08-01
+repackdir := $(package)-$(version)
+
+# Repackage the source.
+get-orig-source:
+	echo "*** Please hit enter on login (empty password) ***"
+	$(cvs) login
+	$(cvs) export -N -d $(repackdir) -D $(date) haxe
+	$(cvs) export -N -d $(repackdir) -D $(date) ocaml/swflib
+	$(cvs) export -N -d $(repackdir) -D $(date) ocaml/extc
+	$(cvs) export -N -d $(repackdir) -D $(date) neko/libs/include/ocaml
+	find $(repackdir) -name .cvsignore -o -name '*.vcproj' \
+		-o -name '*.sln' -o -name '*.bat' | xargs rm -rf
+	tar cfz $(package)_$(version).orig.tar.gz $(repackdir)
+	rm -rf $(repackdir)
+
+# Use quilt to patch sources.
+include /usr/share/quilt/quilt.make
+
+build: patch build-stamp
+build-stamp: 
+	dh_testdir
+	ocaml debian/$(OCAMLTYPE)
+	$(CURDIR)/bin/haxe $(CURDIR)/haxe/std/tools/haxedoc/haxedoc.hxml
+	$(CURDIR)/bin/haxe $(CURDIR)/haxe/std/tools/haxelib/haxelib.hxml
+	touch $@
+
+binary-indep: build-stamp
+
+binary-arch: build-stamp
+	dh_testdir
+	dh_testroot
+	echo $(OCAMLDEPS) >> $(CURDIR)/debian/haxe.substvars
+	dh_installdocs
+	dh_install debian/haxe-mode.el usr/share/emacs/site-lisp/haxe-mode
+	dh_installemacsen
+	dh_install
+	mkdir -p $(CURDIR)/debian/haxe/etc/bash_completion.d
+	cp $(CURDIR)/debian/bash_completion $(CURDIR)/debian/haxe/etc/bash_completion.d/haxe
+	dh_installman debian/haxe.1 debian/haxelib.1 debian/haxedoc.1
+	dh_installchangelogs haxe/doc/CHANGES.txt
+	dh_strip -Xhaxedoc -Xhaxelib $(OCAMLSTRIP)
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+
+clean: clean-patched unpatch
+clean-patched:
+	dh_testdir
+	dh_testroot
+	-rm -f *-stamp
+	-rm -rf $(CURDIR)/bin
+	-rm -f $(CURDIR)/haxe/lexer.ml
+	-rm -f $(CURDIR)/ocaml/xml-light/xml_parser.ml
+	-rm -f $(CURDIR)/ocaml/xml-light/xml_parser.mli
+	-rm -f $(CURDIR)/ocaml/xml-light/xml_lexer.ml
+	find $(CURDIR) -name '*.o' -o -name '*.cmi' -o -name '*.cmx' -o -name '*.cmo' \
+		-o -name '*.cma' -o -name '*.a' -o -name '*.cmxa' -o -name '*.n' \
+		| xargs rm -rf
+	rm -f $(CURDIR)/haxedoc
+	rm -f $(CURDIR)/haxelib
+	dh_clean
+
+.PHONY: binary binary-indep binary-arch build clean clean-patched
--- haxe-2.4.orig/debian/emacsen-startup
+++ haxe-2.4/debian/emacsen-startup
@@ -0,0 +1,26 @@
+;; -*-emacs-lisp-*-
+
+(if (not (file-exists-p "/usr/share/emacs/site-lisp/haxe-mode"))
+    (message "Package haxe needs reinstall.  Skipping setup.")
+
+  (let ((haxedir (concat "/usr/share/"
+                         (symbol-name debian-emacs-flavor)
+                         "/site-lisp/haxe-mode")))    
+
+    ;; Only load haxe-mode if it has been installed.
+    (if (zerop (length (file-expand-wildcards haxedir)))
+        (message "haxe-mode not for this flavor.  Skipping.")
+
+      ;; The haxe package follows the Debian/GNU Linux 'emacsen' policy and
+      ;; byte-compiles its elisp files for each 'emacs flavor'.  The compiled code
+      ;; is then installed in a subdirectory of the respective site-lisp directory.
+      (debian-pkg-add-load-path-item haxedir)
+      
+      ;; Automatically start haXe files in haxe-mode.
+      (add-to-list (quote auto-mode-alist) (quote ("\\.hx\\'" . haxe-mode)))
+
+      ;; Make sure that Help can find the source code.  Has to be at the end.
+      (setq load-path
+            (nconc load-path (list "/usr/share/emacs/site-lisp/haxe-mode")))
+  
+      (autoload 'haxe-mode "haxe-mode" "Major mode for editing haXe code." t))))
--- haxe-2.4.orig/debian/bash_completion
+++ haxe-2.4/debian/bash_completion
@@ -0,0 +1,94 @@
+# -*- shell-script -*-
+# haxe(1) bash-completion specification.
+# Put in the public domain 2008 by Jens Peter Secher.
+
+# Inputs:
+#   $1 -- name of the command whose arguments are being completed
+#   $2 -- word being completed
+#   $3 -- word preceding the word being completed
+#   $COMP_LINE  -- current command line
+#   $COMP_PONT  -- cursor position
+#   $COMP_WORDS -- array containing individual words in the current
+#                  command line
+#   $COMP_CWORD -- index into ${COMP_WORDS} of the word containing the
+#                  current cursor position
+# Output:
+#   COMPREPLY array variable contains possible completions
+
+_haxe()
+{
+    local cur prev options firstchar
+    COMPREPLY=()
+    cur=${COMP_WORDS[COMP_CWORD]}
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+    ## All available options to haxe.
+    options='-cp -js -as3 -swf -swf9 -as3 -neko -php -cpp -xml -main -lib \
+             -D -v -debug -swf-version -swf-header -swf-lib -x -resource
+             -exclude -prompt -cmd --flash-strict --no-traces \
+             --flash-use-stage --neko-source --gen-hx-classes --next \
+             --display --no-output --times --no-inline --no-opt \
+             --php-front --remap -help --help'
+    case $prev in
+	-cp|-as3)
+            COMPREPLY=( $( compgen -o dirnames -- ${cur} ) )
+            ;;
+	-js)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.js" ) )
+            ;;
+	-swf|-swf9)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.swf" ) )
+            ;;
+	-swf-lib|-resource)
+            COMPREPLY=( $( compgen -o filenames -- ${cur} ) )
+            ;;
+	-neko)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.n" ) )
+            ;;
+	-php|--php-front)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.php" ) )
+            ;;
+	-cpp)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.cpp" ) )
+            ;;
+	-xml)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.xml" ) )
+            ;;
+	-exclude|--gen-hx-classes)
+            COMPREPLY=( $( compgen -o filenames -G "${cur}*.hx" ) )
+            ;;
+        -swf-version)
+	    local swf_versions='6 7 8 9 10'
+	    COMPREPLY=( $( compgen -W "${swf_versions}" -- ${cur} ) )
+	    ;;
+        -swf-header)
+            ## An improvement here would be to restrict to n:n:n:c.
+            ;;
+        -main)
+            ## An improvement here would be to find class Xxx in *.hx
+            ## files, alternatively just Xxx.hx.
+            ;;
+        -lib)
+            if haxelib list 2>&1 > /dev/null; then
+                local libraries=`haxelib list | sed 's/:.*//g'`
+                COMPREPLY=( $( compgen -W "${libraries}" -- ${cur} ) )
+            fi
+            ;;
+        -D)
+            ## An improvement here would be to grep in hx files after #if xxx.
+            ;;
+	*)
+            ## The previous commandline argument is not an option that
+            ## needs a value, so look at current argument.  If first
+            ## character is a dash, complete on options, otherwise do
+            ## normal shell completion.
+            firstchar=`expr substr "${cur}" 1 1`
+            if [ "$firstchar" = "-" ]; then
+	        COMPREPLY=( $( compgen -W "${options}" -- ${cur} ) )
+            else
+	        COMPREPLY=( $( compgen -o default -- ${cur} ) )
+            fi
+	    ;;
+    esac
+    return 0
+}
+complete -F _haxe -o filenames haxe
--- haxe-2.4.orig/debian/patches/debian-file-locations.diff
+++ haxe-2.4/debian/patches/debian-file-locations.diff
@@ -0,0 +1,17 @@
+## debian-file-locations.diff by Jens Peter Secher <jps@debian.org>
+##
+## Set class path to ./haxe/std/ and /usr/share/haxe/.
+
+Index: haxe/haxe/main.ml
+===================================================================
+--- haxe.orig/haxe/main.ml	2009-08-03 21:27:41.000000000 +0200
++++ haxe/haxe/main.ml	2009-08-03 21:31:07.000000000 +0200
+@@ -235,7 +235,7 @@
+ 	with
+ 		Not_found ->
+ 			if Sys.os_type = "Unix" then
+-				com.class_path <- ["/usr/lib/haxe/std/";"/usr/local/lib/haxe/std/";"";"/"]
++				com.class_path <- ["./haxe/std/";"/usr/share/haxe/";"./"]
+ 			else
+ 				let base_path = normalize_path (try executable_path() with _ -> "./") in
+ 				com.class_path <- [base_path ^ "std/";"";"/"]);
--- haxe-2.4.orig/debian/patches/series
+++ haxe-2.4/debian/patches/series
@@ -0,0 +1 @@
+debian-file-locations.diff
