PuffinPlot /

Filename Size Date modified Message
.be
apple-resources/icons
examples/data-files/2G
libs
manual
nbproject
src/net/talvi/puffinplot
test/net/talvi/puffinplot
57 B
355 B
7.5 KB
35.1 KB
3.6 KB
13.7 KB
1.7 KB
512 B
82 B
21 B

PuffinPlot development notes

PuffinPlot is a program for palaeomagnetic data plotting and analysis,
written by Pontus Lurcock. This readme describes the requirements for
building PuffinPlot and its documentation from source, and is intended
for developers rather than users. Users are advised to download the
latest PuffinPlot release from the project website at
http://talvi.net/puffinplot/ and consult the included user manual.

Building PuffinPlot

PuffinPlot is developed as a NetBeans project (http://netbeans.org/),
but NetBeans is not necessary to build PuffinPlot: the build is
controlled by an Ant project file (build.xml), which can be used without
NetBeans provided that Apache Ant (http://ant.apache.org/) is installed.

Dependencies: Java libraries

The PuffinPlot build process uses the Ivy dependency manager to
automatically fetch dependencies from the Internet if required.

PuffinPlot uses the following external Java libraries, or parts of them:

appbundler is not used by PuffinPlot itself, but it used during the
build process to create a Mac application bundle containing PuffinPlot.
Note that there is more than one library called ‘appbundler’;
PuffinPlot uses the one provided by Oracle.

Jython can be dynamically downloaded, installed, and used by PuffinPlot
at runtime, but is not a build dependency.

TeX dependencies

The manual is produced using LaTeX. The following programs and packages are
required to build it. For each package name, the name of the Debian package
containing it is also given.

On most Debian-based operating systems, all the TeX dependencies should
be installable with the command

sudo apt-get install tex4ht texlive-fonts-extra texlive-fonts-recommended texlive-latex-base texlive-latex-extra texlive-latex-recommended

Programs

  • pdflatex : texlive-latex-base
  • htlatex : tex4ht

Packages

  • babel : texlive-latex-base
  • geometry : texlive-latex-base
  • ifpdf : texlive-latex-base
  • calc : texlive-latex-base
  • fontenc : texlive-latex-base
  • mathdesign : texlive-fonts-extra
  • natbib : texlive-latex-base
  • inputenc : texlive-latex-base
  • url : texlive-latex-recommended
  • graphicx : texlive-latex-base
  • placeins : texlive-latex-extra
  • booktabs : texlive-latex-recommended
  • listings : texlive-latex-recommended
  • textcase : texlive-latex-recommended
  • color : texlive-latex-base
  • textcomp : texlive-latex-base
  • hyperref : texlive-latex-base

Fonts

  • Bitstream Charter : texlive-fonts-recommended

Building with Ant

Main Ant build targets:

  • create-release creates a zip file suitable for distribution.
    It contains the PuffinPlot jar, a Mac application folder, the
    user manual, and JavaDoc. This target depends on most of the
    other targets.
  • package-for-store creates a unified PuffinPlot jar, including
    the external libraries as well as the PuffinPlot code itself.
  • build-manual creates PDF and HTML manuals from the LaTeX sources.
  • macbundle creates a Mac OS X application from a PuffinPlot jar.

Bug tracking

PuffinPlot uses the Bugs Everywhere bug-tracking system; the bug
database lives within the repository itself, in the .be folder. Bugs
Everywhere is available from http://www.bugseverywhere.org/ .