File: Makefile.PL

package info (click to toggle)
kanla 1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 508 kB
  • ctags: 240
  • sloc: perl: 3,472; sh: 90; makefile: 4
file content (73 lines) | stat: -rw-r--r-- 2,084 bytes parent folder | download
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
use inc::Module::Install;
use Cwd;

name     'kanla';
all_from 'lib/Kanla.pm';
author   'Michael Stapelberg';

requires 'AnyEvent';
requires 'AnyEvent::Util';
requires 'AnyEvent::Handle';
requires 'AnyEvent::XMPP::Client';
requires 'AnyEvent::XMPP::Ext::Disco';
requires 'AnyEvent::XMPP::Ext::Ping';
requires 'AnyEvent::XMPP::Ext::VCard';
requires 'AnyEvent::XMPP::Ext::Version';
requires 'JSON::XS';
requires 'Config::General' => '2.50';
requires 'File::ShareDir';

# plugin requirements
requires 'AnyEvent::HTTP' => '1.5';
requires 'AnyEvent::Socket';
requires 'AnyEvent::DNS';

# test requirements
test_requires 'Test::MockModule';
test_requires 'Test::Deep';

install_script 'kanla';
# Install plugins/ into a distribution-shared directory
install_share('dist', 'plugins');

################################################################################
# We generate make targets for every file in docs/
# so users can use 'make docs'
# to generate docs/*.html from docs/*.txt
################################################################################

my @docs = <docs/*.txt>;
my $alldocfiles = join ' ', map { substr($_, 0, length() - 4) . '.html' } @docs;
my $postamble = '';
my $cwd = getcwd();

for my $file (@docs) {
	my $htmlfile = $file;
	$htmlfile =~ s/\.txt$/.html/;
$postamble .= <<EOT
$htmlfile: $file
	asciidoc -b html5 -f asciidoc.conf -a toc2 -a disable-javascript -a data-uri -a icons -a iconsdir=/etc/asciidoc/images/icons/ -a stylesheet=$cwd/asciidoc-toc.css -n -o - $file | hxtoc -l 2 > $htmlfile
EOT
}

postamble <<END_OF_MAKEFILE;
$postamble

docs: $alldocfiles
END_OF_MAKEFILE

postamble <<'END_OF_MAKEFILE';
install:: extra_install
pure_install:: extra_install
install_vendor:: extra_install

extra_install:
	install -d $(DESTDIR)/etc/kanla
	install -d $(DESTDIR)/etc/kanla/default.d
	install -d $(DESTDIR)/lib/systemd/system
	install -m 640 default.cfg $(DESTDIR)/etc/kanla/default.cfg
	install -m 640 default.d/* $(DESTDIR)/etc/kanla/default.d/
	install -m 644 kanla.service $(DESTDIR)/lib/systemd/system/kanla.service
END_OF_MAKEFILE

WriteAll;