Package: ats2-lang
Severity: wishlist

Dear Maintainer,

Upsteam version 0.1.9 includes ats2-mode emacs lisp files.
Could you support the ats2-mode on Debian system?

A patch to support it is attached with this mail.

Best regards,
-- 
Kiwamu Okabe
diff --git a/ats2-mode.emacsen-compat b/ats2-mode.emacsen-compat
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/ats2-mode.emacsen-compat
@@ -0,0 +1 @@
+0
diff --git a/ats2-mode.emacsen-install b/ats2-mode.emacsen-install
new file mode 100644
index 0000000..a8b3905
--- /dev/null
+++ b/ats2-mode.emacsen-install
@@ -0,0 +1,36 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/install/ats2-mode
+
+FLAVOR=$1
+PACKAGE=ats2-mode
+
+# A number of old emacs versions are not supported by upstream:
+case $FLAVOR in
+    emacs|emacs19|emacs20|emacs21|xemacs21)
+        exit 0
+	;;
+esac
+
+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
diff --git a/ats2-mode.emacsen-remove b/ats2-mode.emacsen-remove
new file mode 100644
index 0000000..a7e7fba
--- /dev/null
+++ b/ats2-mode.emacsen-remove
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/ats2-mode
+FLAVOR=$1
+PACKAGE=ats2-mode
+
+# A number of old emacs versions are not supported by upstream:
+case $FLAVOR in
+    emacs|emacs19|emacs20|emacs21|xemacs21)
+        exit 0
+	;;
+esac
+
+echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+exit 0
diff --git a/ats2-mode.emacsen-startup b/ats2-mode.emacsen-startup
new file mode 100644
index 0000000..1d8a840
--- /dev/null
+++ b/ats2-mode.emacsen-startup
@@ -0,0 +1,12 @@
+;; -*-emacs-lisp-*-
+(if (not (file-exists-p "/usr/share/emacs/site-lisp/ats2-mode"))
+    (message "Package ats2-mode needs reinstall.  Skipping setup.")
+
+  (setq load-path (cons (concat "/usr/share/"
+                                (symbol-name debian-emacs-flavor)
+                                "/site-lisp/ats2-mode") load-path))
+  (add-to-list 'auto-mode-alist '("\\.\\(d\\|s\\)ats\\'" . ats-mode))
+  (autoload 'ats-mode "ats2-mode" "Major mode to edit ATS2 source code" t)
+  (require 'ats2-flymake)
+  (add-hook 'ats-mode-hook 'ats2-flymake-load)
+)
diff --git a/ats2-mode.install b/ats2-mode.install
new file mode 100644
index 0000000..5de5f04
--- /dev/null
+++ b/ats2-mode.install
@@ -0,0 +1 @@
+utils/emacs/*.el usr/share/emacs/site-lisp/ats2-mode/
diff --git a/changelog b/changelog
index ce4249f..c05150e 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,10 @@
+ats2-lang (0.1.9-1) UNRELEASED; urgency=medium
+
+  * New upstream release
+  * Create ats2-mode package
+
+ -- Kiwamu Okabe <kiw...@debian.or.jp>  Mon, 26 Jan 2015 18:32:04 +0900
+
 ats2-lang (0.1.8-1) unstable; urgency=medium
 
   * New upstream release
diff --git a/control b/control
index da7d05c..a4300b8 100644
--- a/control
+++ b/control
@@ -9,7 +9,7 @@ Homepage: http://www.ats-lang.org/
 Package: ats2-lang
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: ATS version 2 programming language compiler
+Description: ATS version 2 programming language - compiler
  ATS2 a.k.a. ATS/Postiats is a programming language with a highly expressive
  type system rooted in the framework Applied Type System. In particular, both
  dependent types and linear types are available in ATS. The current
@@ -25,3 +25,11 @@ Description: ATS version 2 programming language compiler
  deduction systems and their (meta-)properties.
  .
  This package contains the compiler patsopt and the frontend patscc.
+
+Package: ats2-mode
+Architecture: all
+Depends: ${misc:Depends}, emacs | emacsen, emacsen-common (>= 2.0.8)
+Suggests: ats2-lang
+Description: ATS version 2 programming language - mode for GNU Emacs
+ This package provides a GNU Emacs major mode for editing code in
+ ATS2 a.k.a. ATS/Postiats is a programming language.

Reply via email to