[zeromq-dev] Governance of language bindings

Toralf Wittner toralf.wittner at gmail.com
Wed Jan 27 00:05:53 CET 2010

On Tue, 26 Jan 2010, Martin Sustrik wrote:

> We need to provide some information to guarantee good usability of
> language bindings:
> 1. Source repository location
> 2. Build instructions
> 3. Package for language's native packaging system (CPAN, ASDF, hackage
> etc.) if any.
> 4. Packages for individual OS distributions, if any.
> 5. Documentation in native format (Javadoc etc.)
> 6. Mailing list - we can use zeromq-dev for now.
> 7. List of binding authors and/or binding maintainer.
> Toralf, we should put this together to make a template for all language
> bindings. It can be presented as a wiki page, in form of a table,
> whatever. To be discussed.

Well, I guess a short wiki page per binding with links to where things can 
be retrieved from and some additional information is just fine. Your list
captures all relevant points I think. As a template some section headings
should be sufficient, like for instance:


     <some general remarks if appropriate>

(1) Package

     <URL to package home page or download link>

(2) Source Code Management

     <URL to SCM home page>

(3) Installation

     <free text describing how to install the package>

(4) Documentation

     <URL to online documentation, or inline docs>

(5) Bug Reporting

     <some information about how to report bugs>

To give an example here is what the Haskell one could look like:

                        Haskell Binding

(1) Package


(2) Source Code Management


(3) Installation

Note: This package depends on GHC-6.12 or higher and 0MQ/2.0. Make sure you
have both properly installed on your system.

(a) Using cabal-install

     $ cabal update
     $ cabal install zeromq-haskell

You might want to use --enable-documentation for cabal install to have the
API-Documentation generated.

(b) Manual

Download the package from (1) and unpack it into a temporary directory.
Change into it and perform the following steps:

     $ runhaskell Setup.hs configure
     $ runhaskell Setup.hs build
     $ runhaskell Setup.hs haddock   (optional, to generate API documentation)
     $ runhaskell Setup.hs install

Note: If you have installed 0MQ into a non-standard location you may see
an error message in the configure step, like:

     Setup.hs: Missing dependency on a foreign library:
     * Missing header file: zmq.h
     * Missing C library: zmq
     This problem can usually be solved by installing the system package that
     provides this library (you may need the "-dev" version). If the library is
     already installed but in a non-standard location then you can use the flags
     --extra-include-dirs= and --extra-lib-dirs= to specify where it is.

Just follow the instructions and the installation should finish without errors.

(4) Documentation

Documentation is available online at:


Additionally, if you did use "--enable-documentation" in 3.a or 
"runhaskell Setup.hs haddock" in 3.b you find the API documentation in your
local cabal folder as well.

(5) Bug Reporting

If you encounter problems please fill a bug report at:


or write an e-mail to:

     toralf.wittner at gmail.com

Of course the actual wiki page would use proper formatting. Any good?


More information about the zeromq-dev mailing list