Notes towards making Debian packages for Demeter¶
- Links:
The following lists are requirements for building and running DEMETER. These notes were assembled on an Ubuntu machine. YMMV with respect to Debian or another Debian-based system.
Once all this stuff is in place, building DEMETER should be as simple as the standard perl incantation:
perl Build.PL
./Build
./Build install
Required packages¶
This list is culled from the Build.PL
file and from an
analysis of modules loaded by a script using App::FatPacker::Trace
Perl resources¶
All of these packages already exist in Ubuntu. These are DEMETER's dependencies.
- perl
- perl-base
- perl-modules
- libperl5.22
- libarchive-zip-perl
- libautodie-perl
- libb-hooks-endofscope-perl
- libcapture-tiny-perl
- libchemistry-elements-perl
- libclass-accessor-perl
- libcommon-sense-perl
- libconfig-ini-perl
- libconst-fast-perl
- libdata-alias-perl
- libdata-dump-perl
- libdata-optlist-perl
- libdatetime-perl
- libdevel-globaldestruction-perl
- libdigest-sha-perl
- libexporter-tiny-perl
- libfile-copy-recursive-perl
- libfile-countlines-perl
- libfile-find-rule-perl
- libfile-touch-perl
- libfile-which-perl
- libgraph-perl
- libgraphics-gnuplotif-perl
- libheap-perl
- libjson-perl
- libjson-xs-perl
- liblist-moreutils-perl
- libmath-combinatorics-perl
- libmath-derivative-perl
- libmath-random-perl
- libmath-round-perl
- libmath-spline-perl
- libmixin-linewise-perl
- libmodule-implementation-perl
- libmodule-runtime-perl
- libmoo-perl
- libmoose-perl
- libmoosex-aliases-perl
- libmoosex-types-perl
- libmro-compat-perl
- libnamespace-autoclean-perl
- libnamespace-clean-perl
- libnumber-compare-perl
- libpackage-stash-perl
- libpackage-stash-xs-perl
- libparams-util-perl
- libparams-validate-perl
- libpdl-stats-perl
- libperlio-utf8-strict-perl
- libpod-pom-perl
- libregexp-assemble-perl
- libregexp-common-perl
- libscalar-list-utils-perl
- libspreadsheet-writeexcel-perl
- libstatistics-descriptive-perl
- libsub-exporter-perl
- libsub-exporter-progressive-perl
- libsub-identify-perl
- libsub-install-perl
- libsub-name-perl
- libterm-readline-gnu-perl
- libterm-sk-perl
- libterm-twiddle-perl
- libtext-glob-perl
- libtext-template-perl
- libtext-unidecode-perl
- libtree-simple-perl
- libtry-tiny-perl
- libtype-tiny-perl
- libtypes-serialiser-perl
- libvariable-magic-perl
- libwant-perl
- libwx-perl
- libxmlrpc-lite-perl
- libyaml-tiny-perl
- pdl
Non perl resources¶
Some more dependency package names:
- ifeffit (the one Carlo made many moons ago should be just fine and should be available for debian +_ ubuntu + ...)
- gnuplot5
- gnuplot5-qt (or gnuplot5-x11 or gnuplot5-wxt)
- gnuplot5-data
Todo
things needed to compile up ifeffit or use the ifeffit that got made years ago, also pgplot (there is a pgplot5 ubuntu package)
Build requires¶
The following packages are required to build DEMETER, but are not required to be installed on a computer running DEMETER.
- libfile-copy-recursive-perl
- libfile-slurper-perl
- libcapture-tiny-perl
- libextutils-cbuilder-perl
Building the document with sphinx. Note that sphinx must be version 1.3. If the packaged version is 1.2, then the DEMETER document will not get made correctly.
- sphinx-doc
- sphinx-common
- pybtex
other sphinx resources can be installed using pip, available in the “python-pip” package:
- sphinxcontrib-bibtex
More document building details here
Note that the documentation will be built and installed to
<install_dir>/Demeter/share/documentation/Athena/
where
<install_dir>
is whatever is returned when you run this:
perl -e 'use File::Basename; use Demeter; print dirname($INC{"Demeter.pm"}), $/'
There are four documentation folders: Athena
, Artemis
,
DPG
, and SingleFile
.
Missing in Ubuntu¶
These are modules used by DEMETER that are not packaged for Ubuntu. These packages would have to be made and provided.
- MooseX::Types::LaxNum (essential, cannot be worked around, cannot be replaced)
- Encoding::FixLatin (required, but could work around)
- HTML::Entities (what uses this? may not be necessary)
- Pod::ProjectDocs (only required for building)
- File::Monitor::Lite (only needed by a feature of ATHENA that is currently disabled)
DEMETER is copyright © 2009-2016 Bruce Ravel – This document is copyright © 2016 Bruce Ravel
This document is licensed under The Creative Commons Attribution-ShareAlike License.
If DEMETER and this document are useful to you, please consider supporting The Creative Commons.