This file documents the preparation of the autotools-based source tarball,
starting from the bjam-based build of pwiz using the ProteoWizard-distributed
source tarball.

tar xvjf pwiz-src-without-v-3_0_18342_01b48c0.tar.bz2

Oddly enough, the tarball decompresses locally,so that

$ ls -1
Jamroot.jam
LICENSE
SUBSET
build-linux-x86
build-linux-x86_64
check
clean.bat
clean.sh
doc
example_data
libraries
pwiz
pwiz-src-without-v-3_0_18342_01b48c0.tar.bz2
pwiz_aux
pwiz_tools
quickbuild.bat
quickbuild.sh
scripts

Anyways, let's go on:

$ cd scripts/autotools/
sh make_nonbjam_build.sh

# This should build the whole software package. The output of bjam is then
handled by a Python script to parse it and extract rules for the creation of the
autotools-based build environment. The directory of interest, after the build
has finished is:

build-linux-x86

The build goes on fully for the bjam build, but fails with the autotools test
build:

[...] -o pwiz/analysis/spectrum_processing/.libs/SpectrumList_ChargeStateCalculator.o
pwiz/analysis/spectrum_processing/SpectrumList_ChargeStateCalculator.cpp:40:10: fatal error: svm.h: No such file or directory
 #include "svm.h"
          ^~~~~~~
compilation terminated.

But this is not a problem, because the -Ilibraries/libsvm-3.0 will be added in
the debian/rules file laters.

So the generated autotools-based source tarball is:

build-linux-x86/libpwiz_src_.tgz

cd build-linux-x86

tar xvzf libpwiz_src_.tgz

mv pwiz libpwiz-src-301b48c-3.0.18342

We need to remove the Eigen stuff in that tarball, but not the nnls.h file in
it. Eigen stuff (but not nnls.h) is already shipped in Debian.

cd libpwiz-src-301b48c-3.0.18342/libraries/Eigen

tar xvzf libpwiz_src_.tgz

cd pwiz/libraries/Eigen
rm -rf src [A-Z]*

Now create the tarball:

cd ../../../
tar cvzf libpwiz-src-301b48c-3.0.18342.tgz libpwiz-src-301b48c-3.0.18342

We copy it to the the tarballs directory in this way:

cp libpwiz-src-301b48c-3.0.18342.tgz ../

Now we clean the business made by the untidy bz2 file downloaded from
sourceforge.

There are some tweaks to be performed, on the Makefile that is generated upon
running configure: the BOOST_LDPATH needs to be set to the
/usr/lib/x86_64-linux-gnu/ path. Same for the AM_CPPFLAGS that needs to be
updated to list the shipped libraries

CSpline  Eigen  boost_aux  doctest.h  libsvm-3.0



