[Pkg-ocaml-maint-commits] [SCM] janest-core packaging branch, master, updated. debian/0.5.3-1-37-gc26f1a0
Stefano Zacchiroli
zack at upsilon.cc
Thu Nov 12 22:22:38 UTC 2009
The following commit has been merged in the master branch:
commit 2c80e2727a782e694cdb2dcce67ef17aa4a180ae
Author: Stefano Zacchiroli <zack at upsilon.cc>
Date: Thu Nov 12 21:22:54 2009 +0100
split a separate libcore-ocaml-doc package
contains both ocamldoc API reference for Core and Core_extended
Implementation is not for the faint of heart: dh_ocamldoc is used as usual on
the appropriate packages, later on dirs are moved to the -doc
package. Rationale: dh_ocamldoc must be invoked twice, due to duplicate
interfaces.
diff --git a/debian/TODO.Debian b/debian/TODO.Debian
index 0713222..2c5937b 100644
--- a/debian/TODO.Debian
+++ b/debian/TODO.Debian
@@ -1,12 +1 @@
-* generate ocamldoc HTML API ref
-** tried in the past, but several issues remain
-*** a lot of syntax extensions are used
- here is a draft list of flags to be put in *.ocamldoc files:
- -syntax camlp4o
- -package bin_prot.syntax
- -package fieldslib.syntax
- -package sexplib.syntax
- -package type-conv.syntax
-*** different source files are pre-processed in different ways
- not necessarily all camlp4-based (check for (*pp ...*) directive at the
- beginning of each source file
+* fix build here with bytecode only compiler
diff --git a/debian/changelog b/debian/changelog
index 0df6a24..79f3212 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,8 +8,10 @@ janest-core (0.6.0-1) UNRELEASED; urgency=low
- 0004-Fix-build-on-kfreebsd
* debian/control:
- add (new) build-dep on libfields-camlp4-dev
- - split 2 new binary packages: libcore-extended-ocaml{,-dev} that
- contain Core_extended (rationale: large, more deps)
+ - split 3 new binary packages:
+ + libcore-extended-ocaml{,-dev} that contain Core_extended
+ (rationale: large, more deps)
+ + libcore-ocaml-doc that contains the ocamldoc HTML API reference
- add build-dep on libpcre-ocaml-dev, required to build Core_extended
- revamp Description (mention Core vs Core_extended difference)
* debian/rules: switch {debhelper,ocaml}.mk to avoid *.log leftovers
diff --git a/debian/control b/debian/control
index ef447be..ed4b039 100644
--- a/debian/control
+++ b/debian/control
@@ -33,6 +33,7 @@ Depends:
${ocaml:Depends},
${shlibs:Depends},
${misc:Depends}
+Recommends: libcore-ocaml-doc
Provides: ${ocaml:Provides}
Description: Jane Street's standard library for OCaml
Core is an alternative to the OCaml standard library developed by
@@ -100,6 +101,7 @@ Depends:
${ocaml:Depends},
${shlibs:Depends},
${misc:Depends}
+Recommends: libcore-ocaml-doc
Provides: ${ocaml:Provides}
Description: Jane Street's standard library for OCaml - extensions
Core is an alternative to the OCaml standard library developed by
@@ -159,3 +161,34 @@ Description: Jane Street's standard library for OCaml - extensions (runtime)
.
This package contains the runtime stuff you need to run programs using
Core_extended.
+
+Package: libcore-ocaml-doc
+Section: doc
+Architecture: all
+Enhances:
+ libcore-ocaml-dev,
+ libcore-extended-ocaml-dev
+Description: Jane Street's standard library for OCaml - documentation
+ Core is an alternative to the OCaml standard library developed by
+ Jane Street Capital.
+ .
+ Core does a number of things:
+ .
+ * provides tail recursive versions of non tail recursive functions in
+ the standard library;
+ * changes the signature of many of the standard modules to enforce
+ consistent naming conventions;
+ * includes generic serialization for most types;
+ * adds some new modules as well as new functionality to existing
+ modules.
+ .
+ Beware that Core extends some functionality of the legacy standard
+ library, and outright changes or replaces other; backward compatibility
+ .
+ The code of Core is routinely reviewed within Jane Street Capital
+ according to their quality assurance requirements. The extra library
+ called Core_extended adds new functionalities on top of Core, but is
+ only reviewed on an ad-hoc basis.
+ .
+ This package contains the ocamldoc API reference in HTML format for both
+ Core and Core_extended.
diff --git a/debian/rules b/debian/rules
index 517bfa7..2e50d98 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,6 +5,9 @@ include /usr/share/cdbs/1/class/makefile.mk
include /usr/share/cdbs/1/rules/ocaml.mk
DEST_DIR = $(CURDIR)/debian/tmp
+DOC_PKG = libcore-ocaml-doc
+DEV_PKG = libcore-ocaml-dev
+EXT_PKG = libcore-extended-ocaml-dev
# files that need to be pre-processed to remove #if* directives before feeding
# them into ocamldoc
@@ -12,6 +15,8 @@ PP_FILES = \
lib/bigstring.mli \
lib/core_mutex.mli \
lib/unix_ext.mli \
+ lib/std.ml \
+ extended/std.ml \
$(NULL)
ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
@@ -22,16 +27,42 @@ DEB_MAKE_BUILD_TARGET = byte
DEB_MAKE_INSTALL_TARGET = libinstall-byte-code OCAMLFIND_INSTFLAGS="-destdir $(DEST_DIR) -ldconf ignore"
endif
-build/libcore-ocaml-dev::
- for file in $(PP_FILES) ; do \
- cp $$file $$file.debian ; \
- sed -i '/^#/d' $$file ; \
+# pre-process files that need so, before feeding them to ocamldoc
+build/$(DEV_PKG):: ocamldoc-pp-stamp
+ocamldoc-pp-stamp:
+ for f in $(PP_FILES) ; do \
+ cp $$f $$f.debian ; \
+ sed -i '/^#/d' $$f ; \
done
+ touch $@
+
+build/$(DEV_PKG):: $(DEST_DIR)
+$(DEST_DIR):
+ test -d $@ || mkdir -p $@
clean::
- for file in $(PP_FILES) ; do \
- [ ! -f $$file.debian ] || mv $$file.debian $$file ; \
+ for f in $(PP_FILES) ; do \
+ [ ! -f $$f.debian ] || mv $$f.debian $$f ; \
done
+ rm -f ocamldoc-pp-stamp
+
+# Move ocamldoc API ref from Core{,_extended) to -doc package.
+# Rationale: the documentation must be generated in two different stages (one
+# for Core and one for Core_extended), that's not easy with current dh_ocamldoc
+build/$(DOC_PKG):: ocamldoc-pp-stamp $(DEST_DIR)
+build/$(DOC_PKG):: install-arch common-binary-post-install-arch
+binary-install/$(DEV_PKG)::
+ dh_installdirs -p$(DOC_PKG) \
+ /usr/share/doc/$(DEV_PKG)/html /usr/share/doc-base
+ mv debian/$(DEV_PKG)/usr/share/doc/$(DEV_PKG)/html/api \
+ debian/$(DOC_PKG)/usr/share/doc/$(DEV_PKG)/html/api
+ mv debian/$(DEV_PKG)/usr/share/doc-base/* \
+ debian/$(DOC_PKG)/usr/share/doc-base/
+binary-install/$(EXT_PKG)::
+ dh_installdirs -p$(DOC_PKG) \
+ /usr/share/doc/$(EXT_PKG)/html /usr/share/doc-base
+ mv debian/$(EXT_PKG)/usr/share/doc/$(EXT_PKG)/html/api \
+ debian/$(DOC_PKG)/usr/share/doc/$(EXT_PKG)/html/api
+ mv debian/$(EXT_PKG)/usr/share/doc-base/* \
+ debian/$(DOC_PKG)/usr/share/doc-base/
-build/libcore-ocaml-dev::
- mkdir -p $(DEST_DIR)
--
janest-core packaging
More information about the Pkg-ocaml-maint-commits
mailing list