= Installing Alexandria
Alexandria is written in Ruby with a GTK+2/GNOME user-interface. It
currently only runs on UNIX-style systems, such as GNU/Linux.
Alexandria is not an easy project to build from scratch. Apart from
Ruby and GNOME, it has a lot of dependencies; however, many of these
are now optional as detailed below. Once the dependencies have been
installed, building and installing Alexandria is relatively
straightforward.
== Dependencies
The {Ruby-GNOME2}[http://ruby-gnome2.sourceforge.jp/] user-interface
involves a number of packages:
* ruby-gtk2
* ruby-gnome2
* ruby-libglade2
* ruby-gconf2
* ruby-pango
You should have GTK+ >= 2.8.0, and use Ruby-GNOME2 >= 0.16.0.
ruby-gettext[http://ponx.s5.xrea.com/hiki/ruby-gettext.html]
is required for the internationalisation of the user interface.
=== Hpricot
Alexandria uses +hpricot+[http://code.whytheluckystiff.net/hpricot] to
parse the HTML from web pages for providers such as DeaStore and
Siciliano. It is also used to parse the XML for the Amazon web
service. You can install the +hpricot+ package natively or as a
ruby gem.
== Build Dependencies
=== Ruby Dependencies
+rake+[http://rake.rubyforge.org] is required to build Alexandria from
the project +Rakefile+.
You also need +rubygems+[http://www.rubygems.org/] and
+rspec+[http://rspec.rubyforge.org/] to run the RSpec test suite.
=== Native Dependencies
The +gettext+[http://www.gnu.org/software/gettext] package is needed
to generate the binary +mo+ files used by ruby-gettext at
runtime. You also need the
+intltool+[http://www.freedesktop.org/wiki/Software/intltool] package
to merge translations into generated files (and to extract
translatable string from xml files during development).
To build deb files, you will need +dpkg+ and +fakeroot+ (which are
available on all Debian-based systems through apt-get).
== Optional Dependencies
=== Ruby/ZOOM and Yaz
For Z39.50 support and and the Library of Congress and
British Library book providers you will need
ruby-zoom[http://ruby-zoom.rubyforge.org], which in turn
requires the non-Ruby package +yaz+[http://www.indexdata.dk/yaz].
Note that if you install the recent Ruby/ZOOM as the +zoom+ gem, you
will also need to install the +marc+ gem. (Older implementations of
ruby-zoom contained their own implementation of MARC.)
The Z39.50 Object-Orientation Model (ZOOM) is an international
standard for communication between computer systems, particularly
libraries and information-related systems.
=== htmlentities
This is used by the DeaStore provider; DeaStore will not be
available without it. In the future, all web-based providers will
probably use +htmlentities+[http://htmlentities.rubyforge.org/] to
provide more flexible HTML parsing.
=== image_size
You will need
image_size[http://rubyforge.org/projects/imagesize/] for
optimizing the cover images in exported libraries.
=== Revolution
If you want to auto-complete the names of people you loan books to
from your Evolution contacts database, you can install
+revolution+[ http://revolution.rubyforge.org/].
== Build and Install
To build Alexandria from a subversion checkout, go to the base project
directory (where the Rakefile and this INSTALL file are located) and
issue the command
rake build
If you have downloaded a source package, this step will not usually be
necessary.
You must have root priveledges to install, so use +su+
su -c 'rake install'
or +sudo+
sudo rake install
You can generate a .deb file using
rake debian:deb
You can install the deb using dpkg.
Now you can check the version of the installed Alexandria
alexandria --version
To launch Alexandria, simply use
alexandria
If you wish to see more output on the console, you can use
alexandria --debug