hafas - Commandline Public Transit Routing Interface
hafas is a commandline client and Perl module for HAFAS pulic transit routing interfaces. See the Travel::Routing::DE::HAFAS homepage for details.
Installation
You have three installation options:
- Installing the latest release from CPAN
- Installation from source
- Using a Docker image
Except for Docker, hafas is available in your PATH after installation.
You can run hafas --version
to verify this. Documentation is available via
man hafas
.
Installation from CPAN
Travel::Routing::DE::HAFAS releases are published on the Comprehensive Perl
Archive Network (CPAN) and can be installed using standard Perl module tools
such as cpanminus
.
Before proceeding, ensure that you have standard build tools (i.e. make, pkg-config and a C compiler) installed. You will also need the following libraries with development headers:
- libssl
- zlib
Now, use a tool of your choice to install the module. Minimum working example:
cpanm Travel::Routing::DE::HAFAS
If you run this as root, it will install script and module to /usr/local
by
default.
Installation from Source
In this variant, you must ensure availability of dependencies by yourself.
You may use carton or cpanminus with the provided Build.PL
, Module::Build's
installdeps command, or rely on the Perl modules packaged by your distribution.
To check whether dependencies are satisfied, run:
perl Build.PL
If it complains about "... is not installed" or "ERRORS/WARNINGS FOUND IN PREREQUISITES", it is missing dependencies.
Once all dependencies are satisfied, use Module::Build to build, test and install the module. Testing is optional -- you may skip the "Build test" step if you like.
If you downloaded a release tarball, proceed as follows:
./Build
./Build test
sudo ./Build install
If you are using the Git repository, use the following commands:
./Build
./Build manifest
./Build test
sudo ./Build install
If you do not have superuser rights or do not want to perform a system-wide
installation, you may leave out Build install
and use hafas from the
current working directory.
With carton:
carton exec hafas --version
Otherwise (also works with carton):
perl -Ilocal/lib/perl5 -Ilib bin/hafas --version
Running hafas-m via Docker
A hafas image is available on Docker Hub. It is intended for testing purposes: due to the latencies involved in spawning a container for each hafas invocation, it is less convenient for day-to-day usage.
Installation:
docker pull derfnull/hafas:latest
Use it by prefixing hafas commands with docker run --rm derfnull/hafas:latest
, like so:
docker run --rm derfnull/hafas:latest --version
Documentation is not available in this image. Please refer to the online hafas manual instead.