Dear Debian Boost Team, I've managed to create Boost.MPI packages for 1.37 in conjunction with open-mpi, with the following restrictions
* Boost.MPI's support for Python has to be commented out/deleted from libs/mpi/build/Jamfile.v2; Boost doesn't compile otherwise. Perhaps this is an upstream bug. * No specific naming is done (yet) for the openmpi variant Please find attached my control and rules files, which creates the necessary files. I've tested it, and it works like a charm. Kind regards, Rutger ter Borg
#! /usr/bin/make -f # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 export DH_OPTIONS include /usr/share/quilt/quilt.make # set the number of build jobs ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) JOBS := -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) endif DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) PKGVERSION = 1.37 SOVERSION = 1.37.0 SHLIBS_VERSION = (>= 1.37.0-1) # tags for library name decoration boost_version = 1_37 # Boost libraries for which we want separate packages boost_libs := date-time filesystem graph iostreams math mpi \ program-options python regex serialization signals system test \ thread wave # these are special cases, where shared library has not the same name of the Boost library boost_lib_math := math_c99 math_c99f math_tr1 math_tr1f boost_lib_math_long_double := math_c99l math_tr1l boost_lib_serialization := serialization wserialization boost_lib_test := prg_exec_monitor unit_test_framework # these are special cases for variants. normal cases have <empty>, -d, -mt, -mt-d variants boost_variants_thread := -mt -mt-d # These are special cases for suffixes. Generally come from --buildid, so begin with a dash. boost_suffixes_python := -py24 -py25 # Files that are generated by filtering a template filtered_files = \ debian/libboost-dbg.postinst \ debian/libboost-dbg.prerm \ debian/libboost-doc.doc-base \ debian/libboost-python-dev.postinst \ debian/libboost-python-dev.prerm # Function to map Boost component name to set of shared library names # Input: Boost component name # Return: shared library names for the given Boost library boost_lib = $(if $(boost_lib_$(1)), $(boost_lib_$(1)), $(1)) # Function to map Boost component name to set of variants for the library # Input: Boost component name # Return: variants for the given Boost component boost_variants = $(if $(boost_variants_$(1)), $(boost_variants_$(1)), -mt -mt-d) # Function to map Boost component name to set of suffixes for the library # Input: Boost component name # Return: suffixes for the given Boost component boost_suffixes = $(if $(boost_suffixes_$(1)), $(boost_suffixes_$(1)),"") # Helpers to make basic and decorated library names # Input: library, variant, suffix # Return: base library filename for short or full name mk_base_name = usr/lib/libboost_$(subst -,_,$(1))$(2)$(3) # Input: component, variant # Return: package name for shared library or development mk_pkg_lib = libboost$(if $(findstring -d,$(2)),$(PKGVERSION)-dbg,-$(1)$(SOVERSION)) mk_pkg_dev = libboost$(if $(findstring -d,$(2)),$(PKGVERSION)-dbg,-$(1)$(PKGVERSION)-dev) # Helpers to generate debhelper input filenames. # Input: component, variant # Return: prefix to debhelper filenames mk_deb_lib = debian/$(call mk_pkg_lib,$(1),$(2)) mk_deb_dev = debian/$(call mk_pkg_dev,$(1),$(2)) # Helpers that update debhelper .install or .links files # Input: component, library, variant, suffix # Output: none mk_so_files = $(shell echo debian/tmp/$(call mk_base_name,$(2),$(3),$(4)).so.$(SOVERSION) >> $(call mk_deb_lib,$(1),$(3)).install) mk_a_files = $(shell echo debian/tmp/$(call mk_base_name,$(2),$(3),$(4)).a >> $(call mk_deb_dev,$(1),$(3)).install) mk_ln_files = $(shell echo $(call mk_base_name,$(2),$(3),$(4)).so.$(SOVERSION) $(call mk_base_name,$(2),$(3),$(4)).so >> $(call mk_deb_dev,$(1),$(3)).links) # Function that updates debhelper files for a given library variant # Input: component, library, variant, suffix # Output: none mk_files = $(foreach fn,a so ln,$(call mk_$(fn)_files,$(1),$(2),$(3),$(4))) # helpers to make and install lintian override files # Input: package, override add_override = echo $(1): $(2) >> debian/$(1).lintian-overrides; # Input: override add_dbg_override = $(call add_override,libboost$(PKGVERSION)-dbg,$(1)) add_dev_override = $(call add_override,libboost$(PKGVERSION)-dev,$(1)) add_doc_override = $(call add_override,libboost$(PKGVERSION)-doc,$(1)) # Input: component, variant, lintian-warning add_lib_override = $(call add_override,$(call mk_pkg_lib,$(1),$(2)),$(3)) add_libdev_override = $(call add_override,$(call mk_pkg_dev,$(1),$(2)),$(3)) cp_debhelper = for s in doc-base examples postinst prerm README.Debian; do \ if test -f debian/$(1).$$s; then cp -f debian/$(1).$$s debian/$(2).$$s; fi; done # Function that updates debhelper files for all library variants shipped. mk_debhelper_files = \ $(call add_dbg_override,package-name-doesnt-match-sonames) \ $(call add_dbg_override,non-dev-pkg-with-shlib-symlink) \ $(call add_dbg_override,dbg-package-missing-depends) \ $(call add_dev_override,description-synopsis-starts-with-a-capital-letter) \ $(call add_dev_override,spelling-error-in-description) \ $(call add_doc_override,description-synopsis-starts-with-a-capital-letter) \ $(call add_doc_override,extra-license-file) \ $(call add_libdev_override,python,,description-synopsis-starts-with-a-capital-letter) \ $(foreach l, $(boost_libs), \ echo "making debhelper files for $(l)..."; \ $(call add_lib_override,$(l),,package-name-doesnt-match-sonames) \ $(foreach ll, $(call boost_lib,$(l)), \ $(foreach v, $(call boost_variants,$(l)), \ $(foreach suf, $(call boost_suffixes,$(l)), \ $(call mk_files,$(l),$(ll),$(subst -st,,$(v)),$(suf)) \ ) \ ) \ ) \ ) TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT ;" BUILD_LONG_DOUBLE = yes ifeq ($(DEB_BUILD_ARCH), hppa) TOOLSET_CONFIG="using gcc : : : <compileflags>-D_REENTRANT <compileflags>-mlong-calls <compileflags>-DBOOST_SP_USE_PTHREADS ;" BUILD_LONG_DOUBLE = no else ifeq ($(DEB_BUILD_ARCH), arm) BUILD_LONG_DOUBLE = no else ifeq ($(DEB_BUILD_ARCH), armel) BUILD_LONG_DOUBLE = no else ifeq ($(DEB_BUILD_ARCH), mips) BUILD_LONG_DOUBLE = no else ifeq ($(DEB_BUILD_ARCH), mipsel) BUILD_LONG_DOUBLE = no endif ifeq ($(BUILD_LONG_DOUBLE), yes) boost_lib_math += $(boost_lib_math_long_double) else JAM_OPT += --disable-long-double endif PYTHON_CONFIG1 = "using python : 2.4 : /usr ;" PYTHON_CONFIG2 = "using python : 2.5 : /usr ;" MPI_CONFIG = "using mpi ;" exampledir = debian/libboost$(PKGVERSION)-doc/usr/share/doc/libboost$(PKGVERSION)-doc/examples htmldir = debian/libboost$(PKGVERSION)-doc/usr/share/doc/libboost$(PKGVERSION)-doc/HTML pyste_prefix = $(CURDIR)/debian/libboost-python$(PKGVERSION)-dev/usr bjam = $(CURDIR)/tools/jam/src/bjam # FIXME: find a flag to disable reading /etc/site-config.jam JAM = $(bjam) $(JOBS) -d2 $(JAM_OPT) --user-config=$(CURDIR)/user-config.jam -sHAVE_ICU=1 debug-symbols=on jam_variants = variant=release,debug threading=multi link=shared,static $(bjam): cd tools/jam/src && \ CFLAGS='-Wall -Werror -fno-strict-aliasing' sh build.sh cc && \ mv bin.*/bjam . user-config.jam: echo $(TOOLSET_CONFIG) > $@ echo $(PYTHON_CONFIG1) >> $@ echo $(PYTHON_CONFIG2) >> $@ #echo $(MPI_CONFIG) >> $@ build: build-stamp build-stamp: $(QUILT_STAMPFN) $(bjam) user-config.jam dh_testdir $(JAM) --without-python $(jam_variants) $(JAM) --with-python --buildid=py24 python=2.4 $(jam_variants) $(JAM) --with-python --buildid=py25 python=2.5 $(jam_variants) cd tools/bcp && $(JAM) cd tools/inspect/build && $(JAM) cd tools/wave/build && $(JAM) cd tools/regression/build && $(JAM) cd libs/python/pyste/install && python setup.py build touch build-stamp $(filtered_files): % : %.in sed -e 's/@PKGVERSION@/$(PKGVERSION)/g' < $< > $@ clean-debhelper: rm -rf debian/*.install rm -rf debian/*.links rm -rf debian/*.lintian-overrides clean: unpatch clean-debhelper dh_testdir dh_testroot rm -f build-stamp -cd tools && $(JAM) clean -$(JAM) clean -cd libs/python/pyste/install && python setup.py clean rm -rf libs/python/pyste/install/build rm -rf tools/jam/src/bootstrap rm -rf tools/jam/src/bin.* rm -ff tools/jam/src/bjam rm -rf bin.v2 dist rm -rf user-config.jam dh_clean build-stamp # This rule is for debugging debian/rules. make-debhelper: clean-debhelper @$(call mk_debhelper_files) install: DH_OPTIONS=-X.svn install: build clean-debhelper $(filtered_files) dh_testdir dh_testroot dh_clean -k @$(call cp_debhelper,libboost-dbg,libboost$(PKGVERSION)-dbg) @$(call cp_debhelper,libboost-dev,libboost$(PKGVERSION)-dev) @$(call cp_debhelper,libboost-doc,libboost$(PKGVERSION)-doc) @$(call cp_debhelper,libboost-python-dev,libboost-python$(PKGVERSION)-dev) $(JAM) --prefix=$(CURDIR)/debian/tmp/usr $(jam_variants) install install --mode=755 -D debian/rtupdate debian/tmp/usr/share/python/runtime.d/libboost-python$(PKGVERSION)-dev.rtupdate install --mode=755 -D debian/rtupdate debian/tmp/usr/share/python/runtime.d/libboost$(PKGVERSION)-dbg.rtupdate # Remove undecorated Boost.Python libraries and install decorated ones rm debian/tmp/usr/lib/lib*python* find bin.v2/libs/python -name libboost_python*-py2* | xargs install -t debian/tmp/usr/lib find debian/tmp/usr/include -type f | xargs chmod 644 find debian/tmp -name .cvsignore | xargs rm -f find debian -empty -type f | xargs rm -f # generate (some) debhelper files @$(call mk_debhelper_files) # package libboost-dbg dh_install -plibboost$(PKGVERSION)-dbg dh_install -plibboost$(PKGVERSION)-dbg --autodest \ debian/tmp/usr/share/python/runtime.d/libboost$(PKGVERSION)-dbg.rtupdate # package libboost$(PKGVERSION)-dev dh_install -plibboost$(PKGVERSION)-dev \ debian/tmp/usr/include/boost-$(boost_version)/boost \ usr/include dh_install -plibboost$(PKGVERSION)-dev dist/bin/bcp usr/bin dh_installman -plibboost$(PKGVERSION)-dev debian/bcp.1 # package libboost-doc rm -rf $(htmldir) mkdir -p $(htmldir) cat debian/documentation-files | xargs cp --parents --target-directory=$(htmldir) find doc libs -name doc | xargs -n1 cp --archive --target-directory=$(htmldir) rm $(htmldir)/doc/html/images/callouts/Thumbs.db rm -rf $(htmldir)/boost dh_link -plibboost$(PKGVERSION)-doc \ usr/include/boost \ usr/share/doc/libboost$(PKGVERSION)-doc/HTML/boost mkdir -p $(exampledir) cat debian/example-files | xargs cp -a --parents --target-directory=$(exampledir) find $(exampledir) -type f | xargs chmod 644 # package libboost-date-time$(SOVERSION) dh_install -plibboost-date-time$(SOVERSION) # package libboost-date-time$(PKGVERSION)-dev dh_installdirs -plibboost-date-time$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/date_time* \ debian/libboost-date-time$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-date-time$(PKGVERSION)-dev dh_link -plibboost-date-time$(PKGVERSION)-dev # package libboost-filesystem$(SOVERSION) dh_install -plibboost-filesystem$(SOVERSION) # package libboost-filesystem$(PKGVERSION)-dev dh_installdirs -plibboost-filesystem$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/filesystem* \ debian/libboost-filesystem$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-filesystem$(PKGVERSION)-dev dh_link -plibboost-filesystem$(PKGVERSION)-dev # package libboost-graph$(SOVERSION) dh_install -plibboost-graph$(SOVERSION) # package libboost-graph$(PKGVERSION)-dev dh_installdirs -plibboost-graph$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/graph \ debian/libboost-graph$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-graph$(PKGVERSION)-dev dh_link -plibboost-graph$(PKGVERSION)-dev # package libboost-iostreams$(SOVERSION) dh_install -plibboost-iostreams$(SOVERSION) # package libboost-iostreams$(PKGVERSION)-dev dh_installdirs -plibboost-iostreams$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/iostreams* \ debian/libboost-iostreams$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-iostreams$(PKGVERSION)-dev dh_link -plibboost-iostreams$(PKGVERSION)-dev # package libboost-math$(SOVERSION) dh_install -plibboost-math$(SOVERSION) # package libboost-math$(PKGVERSION)-dev dh_installdirs -plibboost-math$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/math* \ debian/libboost-math$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-math$(PKGVERSION)-dev dh_link -plibboost-math$(PKGVERSION)-dev # package libboost-mpi$(SOVERSION) dh_install -plibboost-mpi$(SOVERSION) # package libboost-mpi$(PKGVERSION)-dev dh_installdirs -plibboost-mpi$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/mpi* \ debian/libboost-mpi$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-mpi$(PKGVERSION)-dev dh_link -plibboost-mpi$(PKGVERSION)-dev # package libboost-program-options$(SOVERSION) dh_install -plibboost-program-options$(SOVERSION) # package libboost-program-options$(PKGVERSION)-dev dh_installdirs -plibboost-program-options$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/program_options* \ debian/libboost-program-options$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-program-options$(PKGVERSION)-dev dh_link -plibboost-program-options$(PKGVERSION)-dev # package libboost-python$(SOVERSION) dh_install -plibboost-python$(SOVERSION) # package libboost-python$(PKGVERSION)-dev dh_installdirs -plibboost-python$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/python* \ debian/libboost-python$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-python$(PKGVERSION)-dev --autodest \ debian/tmp/usr/share/python/runtime.d/libboost-python$(PKGVERSION)-dev.rtupdate dh_link -plibboost-python$(PKGVERSION)-dev cd libs/python/pyste/install && python setup.py install --no-compile --prefix=$(pyste_prefix) --install-lib=$(pyste_prefix)/share/python-support/pyste mv $(pyste_prefix)/bin/pyste.py $(pyste_prefix)/bin/pyste dh_installman -plibboost-python$(PKGVERSION)-dev debian/pyste.1 # package libboost-regex$(SOVERSION) dh_install -plibboost-regex$(SOVERSION) # package libboost-regex$(PKGVERSION)-dev dh_installdirs -plibboost-regex$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/*regex* \ debian/libboost-regex$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-regex$(PKGVERSION)-dev dh_link -plibboost-regex$(PKGVERSION)-dev # package libboost-serialization$(SOVERSION) dh_install -plibboost-serialization$(SOVERSION) # package libboost-serialization$(PKGVERSION)-dev dh_installdirs -plibboost-serialization$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/*serialization* \ debian/libboost-serialization$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-serialization$(PKGVERSION)-dev dh_link -plibboost-serialization$(PKGVERSION)-dev # package libboost-signals$(SOVERSION) dh_install -plibboost-signals$(SOVERSION) # package libboost-signals$(PKGVERSION)-dev dh_installdirs -plibboost-signals$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/*signal* \ debian/libboost-signals$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-signals$(PKGVERSION)-dev dh_link -plibboost-signals$(PKGVERSION)-dev # package libboost-system$(SOVERSION) dh_install -plibboost-system$(SOVERSION) # package libboost-system$(PKGVERSION)-dev dh_installdirs -plibboost-system$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/system \ debian/libboost-system$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-system$(PKGVERSION)-dev dh_link -plibboost-system$(PKGVERSION)-dev # package libboost-test$(SOVERSION) dh_install -plibboost-test$(SOVERSION) # package libboost-test$(PKGVERSION)-dev dh_installdirs -plibboost-test$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/test \ debian/libboost-test$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-test$(PKGVERSION)-dev dh_link -plibboost-test$(PKGVERSION)-dev # package libboost-thread$(SOVERSION) dh_install -plibboost-thread$(SOVERSION) # package libboost-thread$(PKGVERSION)-dev dh_installdirs -plibboost-thread$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/thread* \ debian/libboost-thread$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-thread$(PKGVERSION)-dev # package libboost-wave$(SOVERSION) dh_install -plibboost-wave$(SOVERSION) # package libboost-wave$(PKGVERSION)-dev dh_installdirs -plibboost-wave$(PKGVERSION)-dev usr/include/boost mv debian/libboost$(PKGVERSION)-dev/usr/include/boost/wave* \ debian/libboost-wave$(PKGVERSION)-dev/usr/include/boost dh_install -plibboost-wave$(PKGVERSION)-dev dh_link -plibboost-wave$(PKGVERSION)-dev # This single target is used to build all the packages, all at once, or # one at a time. So keep in mind: any options passed to commands here will # affect _all_ packages. Anything you want to only affect one package # should be put in another target, such as the install target. binary-common: dh_testdir dh_testroot dh_installdocs --all debian/README.Debian dh_installexamples dh_installinfo dh_installchangelogs dh_lintian dh_strip --dbg-package=libboost1.37-dbg -X"-d-" dh_link dh_compress -Xlibboost$(PKGVERSION)-doc/HTML dh_pysupport dh_fixperms @if [ "$(DH_OPTIONS)" = "-a" ]; then \ echo DH_OPTIONS=-plibboost$(PKGVERSION)-dbg dh_makeshlibs -V"libboost$(PKGVERSION)-dbg $(SHLIBS_VERSION)"; \ DH_OPTIONS=-plibboost$(PKGVERSION)-dbg dh_makeshlibs -V"libboost$(PKGVERSION)-dbg $(SHLIBS_VERSION)"; \ for name in $(boost_libs); do \ lib=libboost-$${name}$(SOVERSION); \ echo DH_OPTIONS=-p$${lib} dh_makeshlibs -V"$${lib} $(SHLIBS_VERSION)"; \ DH_OPTIONS=-p$${lib} dh_makeshlibs -V"$${lib} $(SHLIBS_VERSION)"; \ done; \ fi dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # Build architecture independant packages using the common target. binary-indep: build install $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common # Build architecture dependant packages using the common target. binary-arch: build install $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common # Any other binary targets build just one binary package at a time. binary-%: build install $(MAKE) -f debian/rules binary-common DH_OPTIONS=-p$* binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary-common binary install
Source: boost1.37 Homepage: http://www.boost.org/ Section: libs Priority: optional Maintainer: Debian Boost Team <pkg-boost-de...@lists.alioth.debian.org> Uploaders: Steve M. Robbins <s...@debian.org>, Domenico Andreoli <ca...@debian.org>, Christophe Prud'homme <prudh...@debian.org> Build-Depends: debhelper (>= 7), quilt, bison, flex, docbook-to-man, xsltproc, doxygen, zlib1g-dev, libbz2-dev, libicu-dev, python-all-dev, python-support (>= 0.6) XS-Python-Version: 2.4, 2.5 Vcs-Browser: http://svn.debian.org/wsvn/pkg-boost/boost/trunk/ Vcs-Svn: svn://svn.debian.org/svn/pkg-boost/boost/trunk Standards-Version: 3.8.0 Package: libboost1.37-dbg Architecture: any Section: libdevel Priority: extra Depends: ${shlibs:Depends} Conflicts: libboost-dbg, libboost1.35-dbg, libboost1.36-dbg Suggests: libboost1.37-dev (= ${binary:Version}) Description: Boost C++ Libraries with debug symbols Part of the Boost C++ Libraries collection. . These libraries are built with debug symbols. They are useful to debug programs which use Boost. These must be used also at build/link time. Package: libboost1.37-dev Architecture: any Section: libdevel Depends: ${shlibs:Depends}, libstdc++-dev, libboost-serialization1.37-dev (= ${binary:Version}) Recommends: libboost1.37-doc, libboost-date-time1.37-dev, libboost-filesystem1.37-dev, libboost-graph1.37-dev, libboost-iostreams1.37-dev, libboost-program-options1.37-dev, libboost-python1.37-dev, libboost-regex1.37-dev, libboost-signals1.37-dev, libboost-test1.37-dev, libboost-thread1.37-dev, libboost-wave1.37-dev Conflicts: libboost-dev, bcp, libboost1.35-dev, libboost1.36-dev Description: Boost C++ Libraries development files The Boost web site provides free, peer-reviewed, portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. One goal is to establish "existing practice" and provide reference implementations so that the Boost libraries are suitable for eventual standardization. Some of the libraries have already been proposed for inclusion in the C++ Standards Committee's upcoming C++ Standard Library Technical Report. . This package provides headers and the auxiliary tool bcp. . For the following subprojects separate packages exist: date-time, filesystem, graph, python, regex, signals, test, and thread. Package: libboost1.37-doc Homepage: http://www.boost.org/libs/ Architecture: all Section: doc Suggests: libboost1.37-dev (>= ${source:Version}) Conflicts: libboost-doc, libboost1.35-doc, libboost1.36-doc Description: Boost.org libraries documentation The Boost web site provides free, peer-reviewed, portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library. One goal is to establish "existing practice" and provide reference implementations so that the Boost libraries are suitable for eventual standardization. Some of the libraries have already been proposed for inclusion in the C++ Standards Committee's upcoming C++ Standard Library Technical Report. . This is documentation for the libboost1.37-dev package in HTML format. Some pages point to header files provided in libboost1.37-dev package, so it is suggested to install the latter as well. Package: libboost-date-time1.37.0 Homepage: http://www.boost.org/libs/date_time/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: set of date-time libraries based on generic programming concepts Part of the Boost C++ Libraries collection. . These libraries are intended to make programming with dates and times almost as simple and natural as programming with strings and integers. Package: libboost-date-time1.37-dev Homepage: http://www.boost.org/libs/date_time/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-date-time1.37.0 (= ${binary:Version}), libboost-serialization1.37-dev (= ${binary:Version}) Conflicts: libboost-date-time-dev, libboost-date-time1.36-dev, libboost-date-time1.37-dev Description: set of date-time libraries based on generic programming concepts Part of the Boost C++ Libraries collection. . These libraries are intended to make programming with dates and times almost as simple and natural as programming with strings and integers. Package: libboost-filesystem1.37.0 Homepage: http://boost.org/libs/filesystem/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: filesystem operations (portable paths, iteration over directories, etc) in C++ Part of the Boost C++ Libraries collection. . The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. The goal is to facilitate portable script-like operations from within C++ programs. Package: libboost-filesystem1.37-dev Homepage: http://boost.org/libs/filesystem/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-filesystem1.37.0 (= ${binary:Version}), libboost-system1.37-dev (= ${binary:Version}) Conflicts: libboost-filesystem-dev, libboost-filesystem1.35-dev, libboost-filesystem1.36-dev Description: filesystem operations (portable paths, iteration over directories, etc) in C++ Part of the Boost C++ Libraries collection. . The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. The goal is to facilitate portable script-like operations from within C++ programs. Package: libboost-graph1.37.0 Homepage: http://www.boost.org/libs/graph/ Architecture: any Section: libs Depends: ${shlibs:Depends} Suggests: graphviz Description: generic graph components and algorithms in C++ Part of the Boost C++ Libraries collection. . Graphs are mathematical abstractions that are useful for solving many types of problems in computer science. Consequently, these abstractions must also be represented in computer programs. A standardized generic interface for traversing graphs is of utmost importance to encourage reuse of graph algorithms and data structures. Package: libboost-graph1.37-dev Homepage: http://www.boost.org/libs/graph/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-serialization1.37-dev (= ${binary:Version}), libboost-test1.37-dev (= ${binary:Version}) Recommends: libboost-graph1.37.0 (= ${binary:Version}) Conflicts: libboost-graph-dev, libboost-graph1.35-dev, libboost-graph1.36-dev Description: generic graph components and algorithms in C++ Part of the Boost C++ Libraries collection. . Graphs are mathematical abstractions that are useful for solving many types of problems in computer science. Consequently, these abstractions must also be represented in computer programs. A standardized generic interface for traversing graphs is of utmost importance to encourage reuse of graph algorithms and data structures. Package: libboost-iostreams1.37.0 Homepage: http://www.boost.org/libs/iostreams/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: Boost.Iostreams Library Part of the Boost C++ Libraries collection. . Boost.Iostreams are a collection of concepts and set of templates which turn models of these concepts into C++ standard library streams and stream buffers. Package: libboost-iostreams1.37-dev Homepage: http://www.boost.org/libs/iostreams/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-regex1.37-dev (= ${binary:Version}), libboost-iostreams1.37.0 (= ${binary:Version}) Conflicts: libboost-iostreams-dev, libboost-iostreams1.35-dev, libboost-iostreams1.36-dev Description: Boost.Iostreams Library development files Part of the Boost C++ Libraries collection. . Boost.Iostreams are a collection of concepts and set of templates which turn models of these concepts into C++ standard library streams and stream buffers. Package: libboost-math1.37.0 Homepage: http://www.boost.org/libs/math/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: Boost.Math Library Part of the Boost C++ Libraries collection. . This library is divided into three interconnected parts: * Statistical Distributions: Provides a reasonably comprehensive set of statistical distributions, upon which higher level statistical tests can be built. * Mathematical Special Functions: Provides a small number of high quality special functions, initially these were concentrated on functions used in statistical applications along with those in the Technical Report on C++ Library Extensions. * Implementation Toolkit: Provides many of the tools required to implement mathematical special functions. Package: libboost-math1.37-dev Homepage: http://www.boost.org/libs/math/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-math1.37.0 (= ${binary:Version}) Description: Boost.Math Library development files Part of the Boost C++ Libraries collection. . This library is divided into three interconnected parts: * Statistical Distributions: Provides a reasonably comprehensive set of statistical distributions, upon which higher level statistical tests can be built. * Mathematical Special Functions: Provides a small number of high quality special functions, initially these were concentrated on functions used in statistical applications along with those in the Technical Report on C++ Library Extensions. * Implementation Toolkit: Provides many of the tools required to implement mathematical special functions. Package: libboost-program-options1.37.0 Homepage: http://www.boost.org/libs/program_options/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: program options library for C++ Part of the Boost C++ Libraries collection. . Library to let program developers obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file. Package: libboost-program-options1.37-dev Homepage: http://www.boost.org/libs/program_options/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-program-options1.37.0 (= ${binary:Version}) Conflicts: libboost-program-options-dev, libboost-program-options1.35-dev, libboost-program-options1.36-dev Description: program options library for C++ Part of the Boost C++ Libraries collection. . Library to let program developers obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file. Package: libboost-python1.37.0 Homepage: http://www.boost.org/libs/python/ Architecture: any Section: python Depends: ${shlibs:Depends} Description: Boost.Python Library Part of the Boost C++ Libraries collection. . The Boost Python Library is used to quickly and easily export a C++ library to Python such that the Python interface is very similar to the C++ interface. It is designed to be minimally intrusive on your C++ design. In most cases, you should not have to alter your C++ classes in any way in order to use them with Boost.Python. The system should simply "reflect" your C++ classes and functions into Python. The major features of Boost.Python include support for: Subclassing extension types in Python, Overriding virtual functions in Python, Member function Overloading, Automatic wrapping of numeric operators among others. Package: libboost-python1.37-dev Homepage: http://www.boost.org/libs/python/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-python1.37.0 (= ${binary:Version}), python-dev, ${python:Depends}, python (>= 2.5) | python-celementtree | python-elementtree, gccxml Suggests: libboost1.37-doc Conflicts: libboost-python-dev, pyste, libboost-python1.35-dev, libboost-python1.36-dev Description: Boost.Python Library development files Part of the Boost C++ Libraries collection. . The Boost Python Library is used to quickly and easily export a C++ library to Python such that the Python interface is very similar to the C++ interface. It is designed to be minimally intrusive on your C++ design. In most cases, you should not have to alter your C++ classes in any way in order to use them with Boost.Python. The system should simply "reflect" your C++ classes and functions into Python. The major features of Boost.Python include support for: Subclassing extension types in Python, Overriding virtual functions in Python, Member function Overloading, Automatic wrapping of numeric operators among others. . This package also contains the pyste Boost.Python code generator that allows the user to specify classes and functions to be exported using a simple interface file, which following the Boost.Python's philosophy, is simple Python code. . This package allows development of a Python interface for all current versions of Python in Debian. Code using this library will need also one of the Python development packages. Package: libboost-regex1.37.0 Homepage: http://www.boost.org/libs/regex/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: regular expression library for C++ Part of the Boost C++ Libraries collection. . Regular expressions are a form of pattern-matching that are often used in text processing; many users will be familiar with the Unix utilities grep, sed and awk, and the programming language perl, each of which make extensive use of regular expressions. Traditionally C++ users have been limited to the POSIX C APIs for manipulating regular expressions, and while regex does provide these APIs, they do not represent the best way to use the library. For example regex can cope with wide character strings, or search and replace operations (in a manner analogous to either sed or perl), something that traditional C libraries can not do. Package: libboost-regex1.37-dev Homepage: http://www.boost.org/libs/regex/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-regex1.37.0 (= ${binary:Version}), libicu-dev Conflicts: libboost-regex-dev, libboost-regex1.35-dev, libboost-regex1.36-dev Description: regular expression library for C++ Part of the Boost C++ Libraries collection. . Regular expressions are a form of pattern-matching that are often used in text processing; many users will be familiar with the Unix utilities grep, sed and awk, and the programming language perl, each of which make extensive use of regular expressions. Traditionally C++ users have been limited to the POSIX C APIs for manipulating regular expressions, and while regex does provide these APIs, they do not represent the best way to use the library. For example regex can cope with wide character strings, or search and replace operations (in a manner analogous to either sed or perl), something that traditional C libraries can not do. Package: libboost-serialization1.37.0 Homepage: http://www.boost.org/libs/serialization/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: serialization library for C++ This is a partial list of provided functionalities: . * proper restoration of pointers to shared data * serialization of STL containers and other commonly used templates * data portability - streams of bytes created on one platform should be readable on any other * archive interface must be rich enough to permit the creation of an archive that presents serialized data as XML in a useful manner . serialization: the reversible deconstruction of an arbitrary set of C++ data structures to a sequence of bytes. archive: to refer to a specific rendering of this stream of bytes. Package: libboost-serialization1.37-dev Homepage: http://www.boost.org/libs/serialization/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-serialization1.37.0 (= ${binary:Version}) Conflicts: libboost-serialization-dev, libboost-serialization1.35-dev, libboost-serialization1.36-dev Description: serialization library for C++ This is a partial list of provided functionalities: . * proper restoration of pointers to shared data * serialization of STL containers and other commonly used templates * data portability - streams of bytes created on one platform should be readable on any other * archive interface must be rich enough to permit the creation of an archive that presents serialized data as XML in a useful manner . serialization: the reversible deconstruction of an arbitrary set of C++ data structures to a sequence of bytes. archive: to refer to a specific rendering of this stream of bytes. Package: libboost-signals1.37.0 Homepage: http://www.boost.org/libs/signals/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: managed signals and slots library for C++ Part of the Boost C++ Libraries collection. . Signals represent callbacks with multiple targets, and are also called publishers or events in similar systems. Signals are connected to some set of slots, which are callback receivers (also called event targets or subscribers), which are called when the signal is "emitted." Package: libboost-signals1.37-dev Homepage: http://www.boost.org/libs/signals/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-signals1.37.0 (= ${binary:Version}) Conflicts: libboost-signals-dev, libboost-signals1.35-dev, libboost-signals1.36-dev Description: managed signals and slots library for C++ Part of the Boost C++ Libraries collection. . Signals represent callbacks with multiple targets, and are also called publishers or events in similar systems. Signals are connected to some set of slots, which are callback receivers (also called event targets or subscribers), which are called when the signal is "emitted." Package: libboost-system1.37.0 Homepage: http://www.boost.org/libs/system/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: Operating system (e.g. diagnostics support) library Part of the Boost C++ Libraries collection. . The Boost System library provides simple, light-weight error_code objects that encapsulate system-specific error code values, yet also provide access to more abstract and portable error conditions via error_condition objects. Because error_code objects can represent errors from sources other than the operating system, including user-defined sources, each error_code and error_condition has an associated error_category. Package: libboost-system1.37-dev Homepage: http://www.boost.org/libs/system/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-system1.37.0 (= ${binary:Version}) Description: Operating system (e.g. diagnostics support) library Part of the Boost C++ Libraries collection. . The Boost System library provides simple, light-weight error_code objects that encapsulate system-specific error code values, yet also provide access to more abstract and portable error conditions via error_condition objects. Because error_code objects can represent errors from sources other than the operating system, including user-defined sources, each error_code and error_condition has an associated error_category. Package: libboost-test1.37.0 Homepage: http://www.boost.org/libs/test/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: components for writing and executing test suites Part of the Boost C++ Libraries collection. The library contains several components. . * Basic execution, error detection, and reporting facility. * Facilities to monitor program execution and produce error reports. * Unit test framework to simplify writing test cases. Package: libboost-test1.37-dev Homepage: http://www.boost.org/libs/test/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-test1.37.0 (= ${binary:Version}) Conflicts: libboost-test-dev, libboost-test1.35-dev, libboost-test1.36-dev Description: components for writing and executing test suites Part of the Boost C++ Libraries collection. The library contains several components. . * Basic execution, error detection, and reporting facility. * Facilities to monitor program execution and produce error reports. * Unit test framework to simplify writing test cases. Package: libboost-thread1.37.0 Homepage: http://www.boost.org/libs/thread/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: portable C++ multi-threading Part of the Boost C++ Libraries collection. . Toolkit for writing C++ programs that execute as multiple, asynchronous, independent, threads-of-execution. Each thread has its own machine state including program instruction counter and registers. Package: libboost-thread1.37-dev Homepage: http://www.boost.org/libs/thread/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-date-time1.37-dev (= ${binary:Version}), libboost-thread1.37.0 (= ${binary:Version}) Conflicts: libboost-thread-dev, libboost-thread1.35-dev, libboost-thread1.36-dev Description: portable C++ multi-threading Part of the Boost C++ Libraries collection. . Toolkit for writing C++ programs that execute as multiple, asynchronous, independent, threads-of-execution. Each thread has its own machine state including program instruction counter and registers. Package: libboost-wave1.37.0 Homepage: http://www.boost.org/libs/wave/ Architecture: any Section: libs Depends: ${shlibs:Depends} Description: C99/C++ preprocessor library Part of the Boost C++ Libraries collection. . The Wave C++ preprocessor library is a Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind a simple to use interface, which integrates well with the well known idioms of the Standard Template Library (STL). Package: libboost-wave1.37-dev Homepage: http://www.boost.org/libs/wave/ Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-serialization1.37-dev (= ${binary:Version}), libboost-wave1.37.0 (= ${binary:Version}), libboost-filesystem1.37-dev (= ${binary:Version}) Conflicts: libboost-wave-dev, libboost-wave1.35-dev, libboost-wave1.36-dev Description: C99/C++ preprocessor library Part of the Boost C++ Libraries collection. . The Wave C++ preprocessor library is a Standards conformant implementation of the mandated C99/C++ preprocessor functionality packed behind a simple to use interface, which integrates well with the well known idioms of the Standard Template Library (STL). Package: libboost-mpi1.37.0 Homepage: http://www.boost.org/doc/html/mpi.html Architecture: any Section: libs Depends: ${shlibs:Depends} Description: C++ interface to the Message Passing Interface (MPI) - OpenMPI version Part of the Boost C++ Libraries collection. . The Boost.MPI library provides an alternative C++ interface to MPI that supports modern C++ development styles, including complete support for user-defined data types and C++ Standard Library types, arbitrary function objects for collective algorithms, and the use of modern C++ library techniques to maintain maximal efficiency. Package: libboost-mpi1.37-dev Homepage: http://www.boost.org/doc/html/mpi.html Architecture: any Section: libdevel Depends: libboost1.37-dev (= ${binary:Version}), libboost-serialization1.37-dev (= ${binary:Version}), libboost-mpi1.37.0 (= ${binary:Version}), libopenmpi-dev Description: C++ interface to the Message Passing Interface (MPI) - OpenMPI version Part of the Boost C++ Libraries collection. . The Boost.MPI library provides an alternative C++ interface to MPI that supports modern C++ development styles, including complete support for user-defined data types and C++ Standard Library types, arbitrary function objects for collective algorithms, and the use of modern C++ library techniques to maintain maximal efficiency.