[Pkg-ocaml-maint-commits] [ocp-indent] 01/01: initial packaging

Johannes Schauer josch-guest at moszumanska.debian.org
Thu Feb 27 11:10:24 UTC 2014


This is an automated email from the git hooks/post-receive script.

josch-guest pushed a commit to branch master
in repository ocp-indent.

commit 3ae43f05975116b65b973234a76f4cd6e9088d58
Author: josch <j.schauer at email.de>
Date:   Thu Feb 27 11:27:35 2014 +0100

    initial packaging
---
 META                                          |  20 ---
 debian/README.Debian                          |  29 +++++
 debian/changelog                              |   5 +
 debian/compat                                 |   1 +
 debian/control                                |  64 +++++++++
 debian/copyright                              | 181 ++++++++++++++++++++++++++
 debian/libocp-indent-lib-ocaml-dev.install.in |   3 +
 debian/libocp-indent-lib-ocaml.install.in     |   2 +
 debian/ocp-indent.examples                    |   1 +
 debian/ocp-indent.install                     |   3 +
 debian/ocp-indent.manpages                    |   1 +
 debian/patches/install_.mli_files.patch       |  12 ++
 debian/patches/series                         |   1 +
 debian/rules                                  |  41 ++++++
 debian/source/format                          |   1 +
 debian/watch                                  |   2 +
 16 files changed, 347 insertions(+), 20 deletions(-)

diff --git a/META b/META
deleted file mode 100644
index 47d06ac..0000000
--- a/META
+++ /dev/null
@@ -1,20 +0,0 @@
-package "lib" (
-  version = "1.4.1"
-  directory = "lib"
-  archive(byte) = "ocp-indent.lib.cma"
-  archive(native) = "ocp-indent.lib.cmxa"
-  requires = "ocp-indent.lexer ocp-indent.utils"
-)
-package "utils" (
-  version = "1.4.1"
-  directory = "utils"
-  archive(byte) = "ocp-indent.utils.cma"
-  archive(native) = "ocp-indent.utils.cmxa"
-  requires = "ocp-indent.lexer"
-)
-package "lexer" (
-  version = "1.4.1"
-  directory = "lexer"
-  archive(byte) = "ocp-indent.lexer.cma"
-  archive(native) = "ocp-indent.lexer.cmxa"
-)
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..e20453c
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,29 @@
+Editors
+-------
+
+While ocp-indent can be used from the commandline it can also be integrated
+into emacs or vim.
+
+Emacs:
+
+    echo '(load-file "/usr/share/emacs/site-lisp/ocp-indent.el")' >>~/.emacs
+
+Vim:
+
+    echo 'autocmd FileType ocaml source /usr/share/vim/addons/syntax/ocp-indent.vim' >>~/.vimrc
+
+Configuration
+-------------
+
+Commandline parameters can be specified in a configuration file. An example can
+be found in
+
+    /usr/share/doc/ocp-indent/examples/.ocp-indent
+
+Consult the comments in that file and the ocp-indent man page for documentation
+of the possible values.
+
+If an `.ocp-indent` file is found in the current directory, then it overrides
+definitions from `~/.ocp/ocp-indent.conf` which in turn overrides the built-in
+defaults. Command-line options override parameters found in configuration
+files.
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..2cbf151
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+ocp-indent (1.4.1-1) unstable; urgency=medium
+
+  * Initial release. (Closes: #735884)
+
+ -- Johannes Schauer <j.schauer at email.de>  Sat, 18 Jan 2014 07:14:09 +0100
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..2f8a539
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,64 @@
+Source: ocp-indent
+Priority: optional
+Maintainer: Johannes Schauer <j.schauer at email.de>
+Build-Depends:
+ debhelper (>= 9),
+ dh-ocaml,
+ ocaml-findlib,
+ ocaml-nox,
+ libcmdliner-ocaml-dev
+Standards-Version: 3.9.5
+Section: ocaml
+Homepage: http://www.typerex.org/ocp-indent.html
+Vcs-Browser: https://github.com/OCamlPro/ocp-indent
+Vcs-Git: https://github.com/OCamlPro/ocp-indent.git
+
+Package: ocp-indent
+Architecture: any
+Depends:
+ libocp-indent-lib-ocaml,
+ ${ocaml:Depends},
+ ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${ocaml:Provides}
+Description: OCaml indentation tool for emacs and vim - runtime
+ ocp-indent is a command-line tool that allows one to indent a whole OCaml
+ source code file (or parts of it) either to standard output or in-place.
+ A configuration file allows user defaults as well as per-project parameters.
+ The ratio of correctly indented lines is comparable with emacs tuareg mode
+ while being an order of magnitude faster.
+ .
+ This package includes the runtime binary and the vim and emacs extensions.
+
+# redundant "lib" but we want to keep compatibility with upstream
+Package: libocp-indent-lib-ocaml
+Architecture: any
+Depends:
+ ${ocaml:Depends},
+ ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${ocaml:Provides}
+Description: OCaml indentation tool for emacs and vim - libraries
+ ocp-indent is a command-line tool that allows one to indent a whole OCaml
+ source code file (or parts of it) either to standard output or in-place.
+ A configuration file allows user defaults as well as per-project parameters.
+ The ratio of correctly indented lines is comparable with emacs tuareg mode
+ while being an order of magnitude faster.
+ .
+ This package includes the shared libraries.
+
+Package: libocp-indent-lib-ocaml-dev
+Architecture: any
+Depends:
+ ${ocaml:Depends},
+ ${shlibs:Depends},
+ ${misc:Depends}
+Provides: ${ocaml:Provides}
+Description: OCaml indentation tool for emacs and vim - development libraries
+ ocp-indent is a command-line tool that allows one to indent a whole OCaml
+ source code file (or parts of it) either to standard output or in-place.
+ A configuration file allows user defaults as well as per-project parameters.
+ The ratio of correctly indented lines is comparable with emacs tuareg mode
+ while being an order of magnitude faster.
+ .
+ This package includes the development libraries.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..8645e74
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,181 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: ocp-indent
+Source: http://www.typerex.org/ocp-indent.html
+
+Files: src/approx_tokens.ml src/approx_lexer.mll
+Copyright: 2011-2013 OCamlPro
+           1996-2011 INRIA
+License: QPL-1 + linking exception
+
+Files: src/indentBlock.ml*
+       src/indentMain.ml
+       src/nstream.ml*
+       src/pos.ml*
+       src/util.ml
+Copyright: 2011 Jun Furuse
+           2012-2013 OCamlPro
+License: LGPL-3 + linking exception
+
+Files: src/indentArgs.ml*
+       src/indentConfig.ml
+Copyright: 2011 Jun Furuse
+           2013 OCamlPro
+License: LGPL-3 + linking exception
+
+Files: src/indentConfig.mli
+Copyright: 2013 OCamlPro
+License: LGPL-3 + linking exception
+
+Files: src/indentPrinter.ml*
+Copyright: 2012-2013 OCamlPro
+License: LGPL-3 + linking exception
+
+Files: debian/*
+Copyright: 2014 Johannes Schauer <j.schauer at email.de>
+License: GPL-3+
+
+License: GPL-3+
+ 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/>.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/GPL-3'.
+
+License: LGPL-3 + linking exception
+ As a special exception to the GNU Lesser General Public License, you
+ may link, statically or dynamically, a "work that uses the Library"
+ with a publicly distributed version of the Library to produce an
+ executable file containing portions of the Library, and distribute
+ that executable file under terms of your choice, without any of the
+ additional requirements listed in clause 6 of the GNU Library General
+ Public License.  By "a publicly distributed version of the Library",
+ we mean either the unmodified Library as distributed by the copyright
+ holder, or a modified version of the Library that is distributed under
+ the conditions defined in clause 3 of the GNU Library General Public
+ License.  This exception does not however invalidate any other reasons
+ why the executable file might be covered by the GNU Lesser General
+ Public License.
+ .
+ The complete text of the GNU Lesser General Public License 3 can be
+ found in `/usr/share/common-licenses/LGPL-3'.
+
+License: QPL-1 + linking exception
+ As a special exception to the Q Public Licence, you may develop
+ application programs, reusable components and other software items
+ that link with the original or modified versions of the Software
+ and are not made available to the general public, without any of the
+ additional requirements listed in clause 6c of the Q Public licence.
+ .
+                   THE Q PUBLIC LICENSE version 1.0
+ .
+              Copyright (C) 1999 Troll Tech AS, Norway.
+                  Everyone is permitted to copy and
+                  distribute this license document.
+ .
+ The intent of this license is to establish freedom to share and change
+ the software regulated by this license under the open source model.
+ .
+ This license applies to any software containing a notice placed by the
+ copyright holder saying that it may be distributed under the terms of
+ the Q Public License version 1.0. Such software is herein referred to
+ as the Software. This license covers modification and distribution of
+ the Software, use of third-party application programs based on the
+ Software, and development of free software which uses the Software.
+ .
+                            Granted Rights
+ .
+ 1. You are granted the non-exclusive rights set forth in this license
+ provided you agree to and comply with any and all conditions in this
+ license. Whole or partial distribution of the Software, or software
+ items that link with the Software, in any form signifies acceptance of
+ this license.
+ .
+ 2. You may copy and distribute the Software in unmodified form
+ provided that the entire package, including - but not restricted to -
+ copyright, trademark notices and disclaimers, as released by the
+ initial developer of the Software, is distributed.
+ .
+ 3. You may make modifications to the Software and distribute your
+ modifications, in a form that is separate from the Software, such as
+ patches. The following restrictions apply to modifications:
+ .
+      a. Modifications must not alter or remove any copyright notices
+      in the Software.
+ .
+      b. When modifications to the Software are released under this
+      license, a non-exclusive royalty-free right is granted to the
+      initial developer of the Software to distribute your
+      modification in future versions of the Software provided such
+      versions remain available under these terms in addition to any
+      other license(s) of the initial developer.
+ .
+ 4. You may distribute machine-executable forms of the Software or
+ machine-executable forms of modified versions of the Software,
+ provided that you meet these restrictions:
+ .
+      a. You must include this license document in the distribution.
+ .
+      b. You must ensure that all recipients of the machine-executable
+      forms are also able to receive the complete machine-readable
+      source code to the distributed Software, including all
+      modifications, without any charge beyond the costs of data
+      transfer, and place prominent notices in the distribution
+      explaining this.
+ .
+      c. You must ensure that all modifications included in the
+      machine-executable forms are available under the terms of this
+      license.
+ .
+ 5. You may use the original or modified versions of the Software to
+ compile, link and run application programs legally developed by you or
+ by others.
+ .
+ 6. You may develop application programs, reusable components and other
+ software items that link with the original or modified versions of the
+ Software. These items, when distributed, are subject to the following
+ requirements:
+ .
+      a. You must ensure that all recipients of machine-executable
+      forms of these items are also able to receive and use the
+      complete machine-readable source code to the items without any
+      charge beyond the costs of data transfer.
+ .
+      b. You must explicitly license all recipients of your items to
+      use and re-distribute original and modified versions of the
+      items in both machine-executable and source code forms. The
+      recipients must be able to do so without any charges whatsoever,
+      and they must be able to re-distribute to anyone they choose.
+ .
+      c. If the items are not available to the general public, and the
+      initial developer of the Software requests a copy of the items,
+      then you must supply one.
+ .
+                       Limitations of Liability
+ .
+ In no event shall the initial developers or copyright holders be
+ liable for any damages whatsoever, including - but not restricted to -
+ lost revenue or profits or other direct, indirect, special, incidental
+ or consequential damages, even if they have been advised of the
+ possibility of such damages, except to the extent invariable law, if
+ any, provides otherwise.
+ .
+                             No Warranty
+ .
+ The Software and this license document are provided AS IS with NO
+ WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN,
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ .
+                            Choice of Law
+ .
+ This license is governed by the Laws of France.
diff --git a/debian/libocp-indent-lib-ocaml-dev.install.in b/debian/libocp-indent-lib-ocaml-dev.install.in
new file mode 100644
index 0000000..a7ffa3a
--- /dev/null
+++ b/debian/libocp-indent-lib-ocaml-dev.install.in
@@ -0,0 +1,3 @@
+ at OCamlStdlibDir@/ocp-indent-lib/*.cm{o,i,x}*
+ at OCamlStdlibDir@/ocp-indent-lib/*.{o,a}
+ at OCamlStdlibDir@/ocp-indent-lib/*.ml*
diff --git a/debian/libocp-indent-lib-ocaml.install.in b/debian/libocp-indent-lib-ocaml.install.in
new file mode 100644
index 0000000..bb7d806
--- /dev/null
+++ b/debian/libocp-indent-lib-ocaml.install.in
@@ -0,0 +1,2 @@
+ at OCamlStdlibDir@/ocp-indent-lib/META
+ at OCamlStdlibDir@/ocp-indent-lib/ocp-indent-lib.cma
diff --git a/debian/ocp-indent.examples b/debian/ocp-indent.examples
new file mode 100644
index 0000000..d995eb3
--- /dev/null
+++ b/debian/ocp-indent.examples
@@ -0,0 +1 @@
+.ocp-indent
diff --git a/debian/ocp-indent.install b/debian/ocp-indent.install
new file mode 100644
index 0000000..8e43a62
--- /dev/null
+++ b/debian/ocp-indent.install
@@ -0,0 +1,3 @@
+usr/bin/ocp-indent
+usr/share/vim/addons/syntax/ocp-indent.vim
+usr/share/emacs/site-lisp/ocp-indent.el
diff --git a/debian/ocp-indent.manpages b/debian/ocp-indent.manpages
new file mode 100644
index 0000000..082d615
--- /dev/null
+++ b/debian/ocp-indent.manpages
@@ -0,0 +1 @@
+ocp-indent.1
diff --git a/debian/patches/install_.mli_files.patch b/debian/patches/install_.mli_files.patch
new file mode 100644
index 0000000..db2eb94
--- /dev/null
+++ b/debian/patches/install_.mli_files.patch
@@ -0,0 +1,12 @@
+Description: also install mli files
+Author: Johannes Schauer <j.schauer at email.de>
+
+--- a/Makefile.simple
++++ b/Makefile.simple
+@@ -45,5 +45,6 @@ install: _build/src/META $(LIB).cma $(LI
+ 	ocamlfind remove ${LIB} || true
+ 	cd _build/src && ocamlfind install $(LIB) META \
+ 	  $(INTERFACES:=.cmi) \
++	  $(INTERFACES:=.mli) \
+ 	  $(LIB).cma $(LIB).cmxa $(LIB).a
+ 
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..2423954
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+install_.mli_files.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..fa2e79b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,41 @@
+#!/usr/bin/make -f
+
+include /usr/share/ocaml/ocamlvars.mk
+
+export DESTDIR := $(CURDIR)/debian/tmp
+export OCAMLFIND_DESTDIR := $(DESTDIR)$(OCAML_STDLIB_DIR)
+
+%:
+	dh $@ --with ocaml
+
+override_dh_auto_clean:
+	rm -f config.status config.log Makefile.config version.ocp
+	rm -f indentMain.byte ocp-indent.1 src/approx_lexer.mli src/util.mli
+	dh_auto_clean -- -f Makefile.simple
+
+override_dh_auto_build:
+	# build library
+	dh_auto_build -- -f Makefile.simple
+	# build ocp-indent program
+	ocamlbuild -cflags -I,+cmdliner -lflags -I,`ocamlfind query cmdliner` -libs cmdliner src/indentMain.byte
+	# build man page
+	_build/src/indentMain.byte --help=groff > ocp-indent.1
+	# create the mli for util.ml and approx_lexer.mll
+	ocamlc -i src/util.ml > src/util.mli
+	ocamlc -I _build/src -i _build/src/approx_lexer.ml > src/approx_lexer.mli
+
+# skip because requires source directory to be git repository
+override_dh_auto_test:
+
+override_dh_install:
+	dh_install --fail-missing
+
+override_dh_auto_install:
+	mkdir -p $(OCAMLFIND_DESTDIR)
+	mkdir -p $(DESTDIR)/usr/bin
+	cp _build/src/indentMain.byte $(DESTDIR)/usr/bin/ocp-indent
+	mkdir -p $(DESTDIR)/usr/share/emacs/site-lisp
+	cp tools/ocp-indent.el $(DESTDIR)/usr/share/emacs/site-lisp/ocp-indent.el
+	mkdir -p $(DESTDIR)/usr/share/vim/addons/syntax
+	cp tools/ocp-indent.vim $(DESTDIR)/usr/share/vim/addons/syntax/ocp-indent.vim
+	dh_auto_install -- -f Makefile.simple
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..bb37ceb
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+https://github.com/OCamlPro/ocp-indent/releases .*/(\d[\d\.]*)\.tar\.gz

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/ocp-indent.git



More information about the Pkg-ocaml-maint-commits mailing list