1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# 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](https://finalrewind.org/projects/Travel-Routing-DE-HAFAS/) 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](https://man.finalrewind.org/1/hafas/) instead.
|