Debian package for Babel
Author: Adam C. Powell, IV

# Babel Debian Package Current Status

### Adam Powell, last modified June 1, 2008 for version 1.4.0.dfsg-1

Package archive, PTS page, US mirror pool

This page documents my effort to package the Babel SIDL compiler for the Debian GNU/Linux operating system. The upstream authors are at Lawrence Livermore National Laboratories.

Why a Debian package? Being able to type, "apt-get install babel" is a lot easier than downloading, compiling and installing the source. Also, this package puts the various files in their standard Debian places, and includes documentation metadata to link the Babel documentation from Debian doc-base frontends. But perhaps most importantly, having a Debian package allows other Debian packages to depend on Babel and SIDL. In the near future, such packages will include hypre and PETSc, and if Babel lives up to its to its promise, there could be quite a lot more.

### Package description:

The `babel` source package builds six binary packages:

- `babel-1.4.0` has the SIDL compiler itself, which consists of the `babel-1.4.0.jar` Java archive in `/usr/share/java` following the (proposed) Debian Java policy, and the `/usr/bin/babel` script which runs it, along with the `/usr/share/babel-1.4.0` directory which contains `sidl.sidl`, the `.dtd` files, and the `repository` subdirectory.
- `libsidl1.4.0-java` has the `sidl-1.4.0.jar` runtime Java archive file.
- `libsidl1.4.0`* has the C runtime shared library.
- `libsidl-dev`* has the C runtime static library, headers, symlinks, and `babel-config` script needed to develop against the shared library.
- `python-sidl`* has the python runtime modules and headers.
- `babel-doc` has all of the documentation which ships with the source (ps, pdf, ppt), along with Debian `doc-base` metadata so this documentation is indexed in frontends like `dhelp` and `dwww`.

*Architecture-dependent packages.

### Questions/issues:

1. It would be nice if variables like `docdir` and `jardir` could be defined during the `configure` process, that would cut down considerably on the patch size. At some point I'll probably generate a patch for upstream.
2. The `babel` source ships with several other `.jar` files, but builds just fine using standard Debian versions of these. At some point I'll patch `aclocal.m4` to look in the Java archive directory (see previous point) for `getopt` and `xerces`, and send these patches upstream.

### To do (in roughly decreasing order of priority):

- Make a babel-test package from the regression subdir and test all of the babel features using this package.
- Write a better manpage for `/usr/bin/babel` and contribute it upstream.