Installing Alexandria
Alexandria is written in Ruby with a GTK+3/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. Once the dependencies have been installed, however, building and installing Alexandria is relatively straightforward.
Dependencies
The Ruby-GNOME2 user-interface involves a number of packages:
gtk3
gio2
gstreamer
You should have GTK+ 3, and use Ruby-GNOME2 ~> 3.1.0
.
ruby-gettext
is required for the internationalisation of the user interface.
Requires version ~> 3.1
.
Nokogiri
Alexandria uses nokogiri to parse the HTML from web pages for web-based providers.
HTMLEntities
This is used by all website-based providers. htmlentities is used to provide more flexible HTML parsing.
Build Dependencies
Ruby Dependencies
rake
is required to build Alexandria from
the project Rakefile
.
You also need rubygems
and
rspec
to run the RSpec test suite.
Native Dependencies
The gettext
package is needed
to generate the binary mo
files used by ruby-gettext
at
runtime. You also need the
intltool
package
to merge translations into generated files (and to extract
translatable string from xml files during development).
Note that these files are pre-generated in tar.gz releases, so you'll only need them if you're building from the Git version, or want to change the translations.
For support of the Z38.50 protocol you will need the
yaz
package.
Alexandria also uses the outdate gconf2 configuration storage system, so you'll
need to install gconf2
.
On Debian/Ubuntu systems, you can install the needed dependencies by running
apt-get install gettext intltool libyaz-dev gconf2
Ruby/ZOOM and Yaz
For Z39.50 support and the Library of Congress and British Library book
providers you will need ruby-zoom
, which in
turn requires the non-Ruby package yaz
(see
Native Dependencies above).
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.
image_size
You will need
image_size
for
optimizing the cover images in exported libraries.
Installing Alexandria
After installing all the non-Ruby dependencies, you should be able to install alexandria using
gem install alexandria-book-collection-manager
Installing from Source
These instructions are outdated and you should for now install alexandria as a gem
To build Alexandria from a git 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
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
Staged installation for making packages
When building a binary package (such as a deb or rpm) you will want to
"install" Alexandria into a specified directory instead of the root
filesystem. You should specify this as the DESTDIR environment variable
and use the install_package_staging
task instead of install
DESTDIR=debian/alexandria rake install_package_staging
If your distribution uses a specific directory to install Ruby packages, you should also set the RUBYLIBDIR.
Installing in the home directory
If you want to install Alexandria in your home directory, you should
specify the PREFIX, SHARE and RUBYLIBDIR envrionment variables, and
use the install_package
task instead of install
.
PREFIX=$HOME SHARE=$HOME/.share RUBYLIBDIR=$HOME/.rubylib rake install_package
This will install the alexandria
program into $HOME/bin
(which you
should add to your PATH
), and the ruby files to your
$HOME/.rubylib
which you should add to your RUBYLIBDIR
environment
variable.
Uninstalling
To uninstall, simply run
sudo rake uninstall
(or rake uninstall_package
if you installed in your home directory).
If you specified any of the environment variables PREFIX, SHARE, RUBYLIBDIR and DESTDIR during the installation, you should use the same variables during uninstallation (or rake won't know where to look for the files it has to remove).