if ($check{o}) {
print_header('Checking Optional Modules');
check_module($_, optional => 1) for @SL::InstallationCheck::optional_modules;
- check_aqbanking();
}
if ($check{d}) {
print_header('Checking Developer Modules');
sub check_latex {
my ($res) = check_kpsewhich();
print_result("Looking for LaTeX kpsewhich", $res);
+
+ # no pdfx -> no zugferd possible
+ my $ret = kpsewhich('template/print/', 'sty', 'pdfx');
+ die "Cannot use pdfx. Please install this package first (debian: apt install texlive-latex-extra)" if $ret;
+ # check version 2018
+ my $latex = $::lx_office_conf{applications}->{latex} || 'pdflatex';
+ my $pdfx = (system ${latex} . ' --interaction=batchmode "\documentclass{minimal} \RequirePackage{pdfx} \csname @ifpackagelater\endcsname{pdfx}{2018/12/22}{}{\show\relax} \begin{document} \end{document}"');
+
+ print_result ("Looking for pdfx version 2018 or higher", !$pdfx);
+ push @missing_modules, \(name => 'pdfx') if $pdfx;
+
if ($res) {
check_template_dir($_) for SL::InstallationCheck::template_dirs($master_templates);
}
+ print STDERR <<EOL if $pdfx;
++------------------------------------------------------------------------------+
+ Your pdfx version is too old. You cannot use ZuGFeRD or modern (2018+)
+ templates. Please consider using a more recent LaTeX environment.
+ Verify with:
+ pdflatex --interaction=batchmode "\RequirePackage{pdfx}[2018/12/22]"
++------------------------------------------------------------------------------+
+EOL
}
sub check_template_dir {
my @sty = sort { $a cmp $b } uniq (
SL::InstallationCheck::classes_from_latex($path, '\usepackage'),
- qw(textcomp ulem pdfx embedfile)
+ qw(textcomp ulem embedfile)
);
kpsewhich($path, 'sty', $_) for @sty;
}
}
}
-sub check_aqbanking {
- my $aqbin = $::lx_office_conf{applications}->{aqbanking};
- if ( !$aqbin ) {
- print_line('Looking for aqbanking executable', 'not configured','red');
- }
- else {
- my $line = "Looking for aqbanking executable '".$aqbin."'";
- my $shell_out = `$aqbin versions 2>&1 | grep AqBanking-CLI 2> /dev/null`;
- my ($label,$version) = split /:/,$shell_out;
- if ( $label && $label eq ' AqBanking-CLI' ) {
- chop $version;
- my ($number_version) = $version =~ /(\d+)/;
- if ($number_version < 6) {
- print_line($line, "Requires at least version 6, current version is " . $version, 'red');
- } else {
- print_line($line, $version, 'green');
- }
- } else {
- print_line($line, 'not installed','red');
- my %modinfo = ( name => 'aqbanking' );
- push @missing_modules, \%modinfo;
- }
- }
-}
-
sub check_module {
my ($module, %role) = @_;