debian/0000755000000000000000000000000012247445753007203 5ustar debian/control0000644000000000000000000000247012247424535010604 0ustar Source: bin-prot Section: ocaml Priority: extra Maintainer: Debian OCaml Maintainers Uploaders: Stéphane Glondu , Lifeng Sun Build-Depends: debhelper (>= 9), dh-ocaml (>= 0.9~), ocaml-nox (>= 4.00.0), ocaml-findlib (>= 1.3.2), camlp4, camlp4-extra, libtype-conv-camlp4-dev (>= 3.0.5), libounit-ocaml-dev (>= 1.1.0-3~) Standards-Version: 3.9.4 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ocaml-maint/packages/bin-prot.git Vcs-Git: git://anonscm.debian.org/pkg-ocaml-maint/packages/bin-prot.git Homepage: http://janestreet.github.io/ Package: libbin-prot-camlp4-dev Architecture: any Depends: ${ocaml:Depends}, ocaml-findlib, camlp4, libtype-conv-camlp4-dev, ${shlibs:Depends}, ${misc:Depends} Provides: ${ocaml:Provides} Description: type-safe binary serialization for OCaml values bin-prot provides functionalities for reading and writing OCaml-values in a type-safe binary protocol. . These functions provide a safe way of performing I/O on any extensionally defined data type. Functions, objects, and values whose type is bound through a polymorphic record field are not supported, but everything else is. . There is no support for cyclic or shared values and only little endian computer architectures are supported. debian/README.Debian0000644000000000000000000000622512247424535011244 0ustar Architecture support ==================== bin-prot works at its best on little endian architecture and has been thoroughly tested only on i386 and amd64. Using it on other architectures can exhibit a number of limitation. Here is a summary of such limitation taken from a post by upstream author Markus Mottl to the Caml mailing list (http://groups.google.com/group/fa.caml/msg/80da07bb322f2d7a) > We currently do not have any immediate need and man power to fully > support big-endian machines (we also don't have access to any), but > we'll gladly accept patches. This could be implemented using > platform-specific macros as is the case with 32/64bit. > > This is what works / doesn't work as of now: > > *) Big-endian and little-endian machines cannot communicate with > each other for anything but very specific cases. Don't use the binary > protocol in such heterogeneous environments. > > *) 32 and 64 bit, little-endian architectures can communicate > freely, assuming, of course, that integers do not overflow on 32bit. > This is tested at runtime to prevent hard to debug errors. > > *) 32bit big-endian machines can communicate with each other freely. > 64 bit big-endians can communicate with each other freely, too, but > not necessarily with 32bit big-endians: values of type int64, etc., > may not necessarily be communicated correctly. Note, too, that you > should exclusively use the automatically generated converters on > big-endian machines. The hand-written (slower) ones for the basic > types are intended mostly for testing purposes only, and will not work > when mixed with a different endianness (they assume little-endians). > > Thus, it certainly makes sense to package the binary protocol for > big-endians, too, as long as people are informed of what works. Since > almost nobody uses big-endian machines, most users won't care. But > I'd surely be happy to see a patch to fully support all > architectures... Syntax extension usage ====================== The easiest way to use bin-prot syntax extension is via findlib. To compile sources which are using it invoke findlib passing "-syntax camlp4o" and providing the "bin_prot.syntax" package. For example: $ cat foo.ml TYPE_CONV_PATH "Foo" type foo = Foo with bin_io $ ocamlfind ocamlc -linkpkg -package bin_prot.syntax -syntax camlp4o -o foo foo.ml Similarly, to try the syntax extension in the toplevel: $ ledit ocaml Objective Caml version 3.10.1 # #use "topfind";; - : unit = () Findlib has been successfully loaded. Additional directives: # #camlp4o;; /usr/lib/ocaml/3.10.1/camlp4: added to search path /usr/lib/ocaml/3.10.1/camlp4/camlp4o.cma: loaded Camlp4 Parsing version 3.10.1 # #require "bin_prot.syntax";; /usr/local/lib/ocaml/3.10.1/type-conv/pa_type_conv.cmo: loaded /usr/lib/ocaml/3.10.1/bin_prot/pa_bin_prot.cmo: loaded # type foo = Foo with bin_io;; type foo = Foo val bin_read_foo__ : 'a -> 'b -> 'c -> 'd = val bin_read_foo_ : Bin_prot.Unsafe_common.sptr_ptr -> Bin_prot.Unsafe_common.eptr -> foo = val bin_read_foo : Bin_prot.Common.buf -> pos_ref:Bin_prot.Common.pos ref -> foo = debian/source/0000755000000000000000000000000012247424535010476 5ustar debian/source/format0000644000000000000000000000001412247424535011704 0ustar 3.0 (quilt) debian/docs0000644000000000000000000000001212247424535010042 0ustar README.md debian/copyright0000644000000000000000000000420212247424535011127 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Author: Markus Mottl Packaged-By: Stefano Zacchiroli Packaged-Date: Sat, 03 May 2008 18:20:58 +0200 Original-Source-Location: http://janestreet.github.io/ Files: * Copyright: 2007-2008, Markus Mottl 2007-2008, Jane Street Holding, LLC License: LGPL-2.1-ocaml Files: lib/int64_*.h Copyright: 2002-2008, Xavier Leroy License: LGPL-2.1-ocaml Files: lib/pa_bin_prot.* Copyright: 2007-2008, Markus Mottl 2007-2008, Jane Street Holding, LLC 2004-2005, Martin Sandin License: LGPL-2.1-ocaml Files: debian/* Copyright: 2008, Stefano Zacchiroli License: GPL-3+ The Debian packaging is copyright Stefano Zacchiroli, and licensed under the GNU General Public License, see `/usr/share/common-licenses/GPL-3' for the full text. License: LGPL-2.1-ocaml 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 Lesser General Public License. By "a publicly distributed version of the Library", we mean either the unmodified Library as distributed by the authors, or a modified version of the Library that is distributed under the conditions defined in clause 3 of the GNU Lesser 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 Library is distributed under the terms of the GNU Lesser General Public License version 2.1, with the special exception to it reported above. . The full text of the GNU Lesser General Public License version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. debian/watch0000644000000000000000000000017012247424535010225 0ustar version=3 opts=uversionmangle=s/-rc/~rc/ https://github.com/janestreet/bin_prot/tags /.*/archive/([\d\.\-rc]+)\.tar\.gz debian/compat0000644000000000000000000000000212247424535010374 0ustar 9 debian/rules0000755000000000000000000000162212247424535010257 0ustar #!/usr/bin/make -f DESTDIR=$(CURDIR)/debian/libbin-prot-camlp4-dev include /usr/share/ocaml/ocamlvars.mk export OCAML_DLL_DIR export OCAML_HAVE_OCAMLOPT export OCAMLFIND_DESTDIR=$(DESTDIR)/$(OCAML_STDLIB_DIR) export OCAMLFIND_LDCONF=ignore %: dh $@ --with ocaml .PHONY: override_dh_auto_configure override_dh_auto_configure: ocaml setup.ml -configure --prefix /usr --destdir '$(DESTDIR)' --docdir /usr/share/doc/libbin-prot-camlp4-dev/html/api .PHONY: override_dh_auto_build override_dh_auto_build: ocaml setup.ml -build ocaml setup.ml -doc .PHONY: override_dh_auto_test override_dh_auto_test: ocaml setup.ml -test .PHONY: override_dh_auto_install override_dh_auto_install: mkdir -p '$(OCAMLFIND_DESTDIR)' mkdir -p '$(DESTDIR)$(OCAML_DLL_DIR)' ocaml setup.ml -install rm -f '$(DESTDIR)$(OCAML_DLL_DIR)'/*.so.owner .PHONY: override_dh_auto_clean override_dh_auto_clean: ocaml setup.ml -distclean debian/gbp.conf0000644000000000000000000000003612247424551010612 0ustar [DEFAULT] pristine-tar = True debian/libbin-prot-camlp4-dev.ocamldoc0000644000000000000000000000002312247424535015047 0ustar --doc-base-generatedebian/changelog0000644000000000000000000001244012247424554011052 0ustar bin-prot (109.30.00-2) unstable; urgency=low * Upload to unstable -- Stéphane Glondu Tue, 03 Dec 2013 19:56:44 +0100 bin-prot (109.30.00-1) experimental; urgency=low * New upstream release. * Add myself to Uploaders. * Update debian/watch. -- Lifeng Sun Thu, 25 Jul 2013 19:52:43 +0800 bin-prot (2.0.9-1) unstable; urgency=low [ Sylvain Le Gall ] * Remove Sylvain Le Gall from uploaders [ Stéphane Glondu ] * New upstream release (Closes: #713357) - bump type-conv requirement * Update debian/watch * Update debian/control: Vcs-*, Homepage * Bump debhelper compat to 9 * Switch debian/copyright to format version 1.0 * Bump Standards-Version to 3.9.4 -- Stéphane Glondu Sat, 22 Jun 2013 16:53:26 +0200 bin-prot (2.0.7-1) unstable; urgency=low * New upstream release - depends on type-conv >= 3.0.3 * Upload to unstable -- Stéphane Glondu Thu, 10 Nov 2011 23:53:26 +0100 bin-prot (2.0.1-1) experimental; urgency=low * New upstream release - drop all patches * Update debian/watch to follow forge.ocamlcore.org -- Stéphane Glondu Thu, 04 Aug 2011 10:30:25 +0200 bin-prot (1.3.1-3) unstable; urgency=low * Fix FTBFS on armel: - more alignment issues - compile C stubs with -fsigned-char -- Stéphane Glondu Sat, 16 Jul 2011 00:29:54 +0200 bin-prot (1.3.1-2) unstable; urgency=low * Fix several portability issues (Closes: #631829) - use cpp as default preprocessor on unknown OS (!linux) - alignment (e.g. mipsel) - endianness (e.g. mips) * Fix bigstring layout bug (and FTBFS with OCaml 3.12.1) -- Stéphane Glondu Wed, 13 Jul 2011 23:12:12 +0200 bin-prot (1.3.1-1) unstable; urgency=low * New upstream release - remove obsolete patches - temporarily disable bigstring tests (they fail with OCaml 3.12.1) * Add myself to Uploaders * Rewrite debian/rules using dh with overrides * Bump Standards-Version to 3.9.2 * Update debian/watch to follow Jane Street * Update Homepage to Jane Street -- Stéphane Glondu Mon, 27 Jun 2011 15:51:14 +0200 bin-prot (1.2.24-1) unstable; urgency=low * Team upload * New upstream release * debian/control: - remove Stefano from Uploaders - bump Standards-Version to 3.9.1 - bump versioned build-dependency to libounit-ocaml-dev to ease ounit transition * Switch source package format to 3.0 (quilt) * Bump debhelper compat level to 8 -- Stéphane Glondu Mon, 21 Feb 2011 02:42:46 +0100 bin-prot (1.2.23-1) unstable; urgency=low * New upstream release -- Sylvain Le Gall Thu, 22 Apr 2010 21:33:43 +0200 bin-prot (1.2.20-1) unstable; urgency=low * New upstream release * Upgrade Standards-Version to 3.8.3 (no change) * Switch to dh-ocaml 0.9.1 (depends and dh_ocamldoc) -- Sylvain Le Gall Sun, 25 Oct 2009 18:30:20 +0000 bin-prot (1.2.14-2) unstable; urgency=low * Fix bytecode only former upload -- Sylvain Le Gall Tue, 07 Jul 2009 21:08:39 +0000 bin-prot (1.2.14-1) unstable; urgency=low * New Upstream Version * Tighten build-depends to ease OCaml 3.11.1 transition * Upgrade standards-version to 3.8.2 (section ocaml) * Update debian/copyright * Fix typo in debian/README.Debian -- Sylvain Le Gall Tue, 07 Jul 2009 01:08:55 +0200 bin-prot (1.2.10-1) unstable; urgency=low [ Stefano Zacchiroli ] * New Upstream Version * debian/copyright: point to version-specific common license file * debian/watch: update to point to upstream proper location * debian/control: - update Homepage field - bump Standards-Version to 3.8.1 (no change) [ Sylvain Le Gall ] * Add debian/gbp.conf to force using pristine-tar -- Stefano Zacchiroli Mon, 16 Mar 2009 16:19:11 +0100 bin-prot (1.0.5-5) unstable; urgency=low [ Stefano Zacchiroli ] * rebuild against ocaml 3.11, bump build-dep to induce dep-waits * debian/control - bump standards-version to 3.8.0 (no changes needed) - add build-dep on dh-ocaml, which now ships ocaml.mk * debian/rules: use ocaml.mk as a CDBS "rules" file [ Mehdi Dogguy ] * Fix watch file. -- Stefano Zacchiroli Sun, 01 Mar 2009 09:22:08 +0100 bin-prot (1.0.5-4) unstable; urgency=low * fix OCamlMakefile to ensure -fPIC is added to build .o (fix FTBFS on 64 bit architectures) -- Stefano Zacchiroli Fri, 09 May 2008 15:24:37 +0200 bin-prot (1.0.5-3) unstable; urgency=low * upload to unstable * release to all architecture as discussed with upstream, add notes to README.Debian about which cross-architectures patterns work and which don't -- Stefano Zacchiroli Fri, 09 May 2008 11:04:18 +0200 bin-prot (1.0.5-2) experimental; urgency=low * add build-dep on camlp4-extra (fix FTBFS) * rename TODO.Debian to TODO to match debhelper naming convention * add todo item about shipping ocamldoc api ref -- Stefano Zacchiroli Mon, 05 May 2008 10:24:01 +0200 bin-prot (1.0.5-1) experimental; urgency=low * Initial release (Closes: #479164) -- Stefano Zacchiroli Sat, 03 May 2008 18:20:58 +0200